千家信息网

Springboot如何注入装配到IOC容器

发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,这篇文章主要介绍了Springboot如何注入装配到IOC容器,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、通过bean注解装配到
千家信息网最后更新 2025年01月22日Springboot如何注入装配到IOC容器

这篇文章主要介绍了Springboot如何注入装配到IOC容器,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

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日 * 配置类文件 */@Configurationpublic 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日 */@RestControllerpublic 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日 */@RestControllerpublic 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@ComponentScanpublic 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日 */@RestControllerpublic 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容器"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

0