SpringBoot-@Autowired依赖注入&@Component自动注册Bean

  • Post author:
  • Post category:其他

spring框架给了我们很好的方法去简化操作,@Autowired和@Component简直就是一对兄弟搭档

  1. @Autowired
作用:@Autowired表示被修饰的类需要注入对象,spring会扫描所有被@Autowired标注的类,然后根据 类型 在ioc容器中找到匹配的类注入。

示例代码:
Java代码  收藏代码


@Component
public class ADUserUtils {

    @Resource
    private  ADConfig adc;

    private  static ADConfig adc1;

    @PostConstruct - 初始化函数手工注入
    public void init() {
        this.adc1 = adc;
    }
    // OR  - Set 方法注入
    @Autowired
    public void setBrand(Brand benz)  
    {  
       this.brand=benz;  
    } 
    // OR  - 构造方法注入
    @Autowired
    public ADUserUtils(ADConfig adc)  
    {
       ADUserUtils.adc1=adc;  
    } 

    public static List<User> getADUsers() {
        adc1.readConf();
    }
}

Car这个类被标注了,那么spring扫描到之后,发现需要Brand这个类的实例对象,那么spring会去ioc容器中找到类型匹配的对象注入。基本流程就是这样的,至于其他更复杂的问题,比如同一个类型的类有多个不同的bean,注入哪个,请百度吧。 当然,实现这种功能需要在ApplicationContext.xml中进行配置。

  1. @component

作用:把普通pojo实例化到spring容器中,相当于配置文件中的

虽然有了@Autowired,但是我们还是要写一堆bean的配置文件,相当麻烦,而@Component就是告诉spring,我是pojo类,把我注册到容器中吧,spring会自动提取相关信息。那么我们就不用写麻烦的xml配置文件了,yeah!

当然,实现这种功能需要在ApplicationContext.xml中进行配置。


版权声明:本文为weixin_42299369原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。