spring框架给了我们很好的方法去简化操作,@Autowired和@Component简直就是一对兄弟搭档
- @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中进行配置。
- @component
作用:把普通pojo实例化到spring容器中,相当于配置文件中的
虽然有了@Autowired,但是我们还是要写一堆bean的配置文件,相当麻烦,而@Component就是告诉spring,我是pojo类,把我注册到容器中吧,spring会自动提取相关信息。那么我们就不用写麻烦的xml配置文件了,yeah!
当然,实现这种功能需要在ApplicationContext.xml中进行配置。
版权声明:本文为weixin_42299369原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。