您的位置:首页 > 编程语言 > Java开发

SpringMVC中关于@Resource与@Autowired注解的区别和使用注意事项

2018-02-02 18:22 477 查看
SpringMVC中关于@Resource与@Autowired注解的区别和使用注意事项

1.来源不同

@Resource(import javax.annotation.Resource;)是J2EE的注解,是Java自己的东西

@Autowired(import org.springframework.beans.factory.annotation.Autowired;)是Spring的注解,属于第三方的

使用@Resource可以减少代码和Spring之间的耦合

2.匹配类型不同:

@Resource默认按照名称方式进行bean匹配

@Autowired默认按照类型方式进行bean匹配

使用:

@Autowired默认情况下必须要求依赖对象必须存在,如果要允许null值,可以设置它的required属性为false,

如:@Autowired(required=false) ,如果我们想使用名称装配可以结合@Qualifier注解进行使用,

如下:

@Autowired

@Qualifier(“baseDao”)

private BaseDao baseDao;

@Resource的使用

 例如:现有类FruitImpl

 @Resource(name = "fruitImpl")

 private FruitImpl fruitImpl

注意:是fruitImpl不是FruitImpl

因为使用在业务层使用@Service,容器为创建bean时默认类名首字母小写
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: