1、通過bean注解裝配到IOC容器
創建裝配的類,如下
package com.sboot.pr.bean; /** * @author ygb * @Mailbox 941201063@qq.com * @date 2021年10月28日 * 通過bean注解裝配到IOC容器 */ public class BeanPOJO { private int id; private String name; private int age; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
通過bean注解裝配BeanPOJO到IOC容器
package com.sboot.pr.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import com.sboot.pr.bean.BeanPOJO; /** * @author ygb * @Mailbox 941201063@qq.com * @date 2021年10月28日 * 配置類文件 */ @Configuration public class BeanConfig { /** * 通過bean注解裝配BeanPOJO到IOC容器 * @return */ @Bean(name = "beanPOJO") public BeanPOJO initBeanPOJO() { BeanPOJO pojo = new BeanPOJO(); pojo.setId(1); pojo.setName("BeanPOJO"); pojo.setAge(29); return pojo; } }
把裝配的BeanPOJO 注入
package com.sboot.pr.controller; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import com.sboot.pr.bean.BeanPOJO; import com.sboot.pr.bean.ComponentPOJO; import com.sboot.pr.bean.ComponentScanPOJO; /** * @author ygb * @Mailbox 941201063@qq.com * @date 2021年10月28日 */ @RestController public class TestController { @Autowired private BeanPOJO beanPoJO; /** * 獲取通過Bean注解裝配到IOC容器的對象 * @return */ @GetMapping("/boot/getBeanPOJO") public BeanPOJO getBeanPOJO() { return beanPoJO; } }
訪問注入的BeanPOJO信息
http://localhost:1111/boot/getBeanPOJO
2、通過Component注解掃描裝配bean到IOC容器
創建裝配的類,如下
package com.sboot.pr.bean; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.ComponentScan; import org.springframework.stereotype.Component; /** * @author ygb * @Mailbox 941201063@qq.com * @date 2021年10月28日 * 通過Component注解掃描注入bean到IOC容器 * 指定bean名稱,默認首個字母小寫 */ @Component("componentPOJO") public class ComponentPOJO { @Value("2") private int id; @Value("ComponentPOJO") private String name; @Value("29") private int age; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
把裝配的ComponentPOJO 注入
package com.sboot.pr.controller; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import com.sboot.pr.bean.BeanPOJO; import com.sboot.pr.bean.ComponentPOJO; import com.sboot.pr.bean.ComponentScanPOJO; /** * @author ygb * @Mailbox 941201063@qq.com * @date 2021年10月28日 */ @RestController public class TestController { @Autowired private ComponentPOJO componentPOJO; /** * 獲取通過Component注解裝配到IOC容器的對象 * @return */ @GetMapping("/boot/getComponentPOJO") public ComponentPOJO getComponentPOJO() { return componentPOJO; } }
訪問注入的ComponentPOJO信息
http://localhost:1111/boot/getComponentPOJO
3、通過ComponentScan注解掃描裝配bean到IOC容器
創建裝配的類,如下
package com.sboot.pr.bean; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; /** * @author ygb * @Mailbox 941201063@qq.com * @date 2021年10月28日 * 通過ComponentScan注解掃描注入bean到IOC容器 * 可以指定策列,比如哪些包需要掃描、排除哪些bean被掃描 */ @Configuration @ComponentScan public class ComponentScanPOJO { @Value("3") private int id; @Value("ComponentScanPOJO") private String name; @Value("29") private int age; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
把裝配的ComponentScanPOJO 注入
package com.sboot.pr.controller; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import com.sboot.pr.bean.BeanPOJO; import com.sboot.pr.bean.ComponentPOJO; import com.sboot.pr.bean.ComponentScanPOJO; /** * @author ygb * @Mailbox 941201063@qq.com * @date 2021年10月28日 */ @RestController public class TestController { @Autowired private ComponentScanPOJO componentScanPOJO; /** * 獲取通過Component注解裝配到IOC容器的對象 * @return */ @GetMapping("/boot/getComponentScanPOJO") public ComponentScanPOJO getComponentScanPOJO() { return componentScanPOJO; } }
訪問注入的ComponentScanPOJO信息
http://localhost:1111/boot/getComponentScanPOJO
到此這篇關于Springboot 注入裝配到IOC容器方式的文章就介紹到這了,更多相關Springboot 注入IOC容器內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!
原文鏈接:https://blog.csdn.net/a13826548428/article/details/121049589