autowired和resource的区别
autowired和resource的区别:
1、@Autowired注解由Spring提供,只按照byType注入;@resource注解由J2EE提供,默认按照byName自动注入。
2、@Autowired默认按类型进行装配,@Resource默认按照名称进行装配。
3、如果同时指定了name和type,则从Spring上下文中找到唯一匹配的bean进行装配,找不到则抛出异常。
4、如果指定了name,则从Spring上下文中查找名称(id)匹配的bean进行装配,找不到则抛出异常。
5、如果指定了type,则从Spring上下文中找到类型匹配的唯一bean进行装配,找不到或找到多个,都抛出异常。
6、如果既没指定name,也没指定type,则自动按照byName方式进行装配。
在逻辑上与应用程序一起部署的任何不可执行的数据。资源可以在应用程序中作为错误信息显示,或者作为用户界面的一部分显示。资源可以包含多种形式的数据,包括字符串、图像和持久的对象等。
@Autowired是一种注解,可以对成员变量、方法和构造函数进行标注,来完成自动装配的工作,@Autowired标注可以放在成员变量上,也可以放在成员变量的set方法上,也可以放在任意方法上表示,自动执行当前方法,如果方法有参数,会在IOC容器中自动寻找同类型参数为其传值。
这里必须明确:@Autowired是根据类型进行自动装配的,如果需要按名称进行装配,则需要配合@Qualifier使用。
2017-08-26