@Autowired的作用

Posted wangchao422

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了@Autowired的作用相关的知识,希望对你有一定的参考价值。

@Autowired用在字段上 或者用在对应的setter方法上 也可以(既会返回字段的注解 也会返回方法的注解 ) @Autowired注解是按类型装配对象 该注解有一个required属性 ,该属性取值为true或false true表示字段是必须要装配的 如果在spring容器中没有找到对应的bean 则抛出异常 false 表示字段不是必须要装配的 如果在spring容器中能找到 则装配 如果找不到 则装配为null @Autowired自动装配既可以在注解的组件中装配 也可以在xml中配置的组件中装配 (即在xml和包中找 ) @Autowired的作用是 自动装配,自动根据属性的类型,在spring ioc容器所有资源中找对应类型的bean! 1. applicationContext.xml中找 2. 扫描的包下找 决定能不能找到匹配的bean的必要条件: 1. 类型要与Car一致 2. 要被spring容器管理 结果: 找不见: 且@Autowired(required = true)时,就报错 且@Autowired(required = false)时,就不报错,不注入了! 找见2个类型与Car一致的 --> xml中有, 扫描的包中也有, 最终用扫描包中的那个 --> xml中2个。报错 ================================================================= @Resource的作用是 1. 先按照被@Resource注解的属性名称来装配,如果找不见指定的名称,就进入第二部 2. @Resource就变得跟@Autowired一样了! 思考,如果按照名称找见了, 且找见了2个名称匹配的bean,一个在xml中,一个在被扫描的包中,最终使用xml中的

以上是关于@Autowired的作用的主要内容,如果未能解决你的问题,请参考以下文章

@Autowired的作用

@Resource 注解的作用和@AutoWired的对比

为什么@Autowired不起作用,返回空指针值

@Autowired 在方法参数中不起作用

@Autowired 和@Resource区别

详细解析@Resource和@Autowired的区别 , 以及@Qualifier的作用