码迷,mamicode.com
首页 > 其他好文 > 详细

@Resource、@Autowired等几个注解的区别

时间:2020-05-14 00:59:54      阅读:72      评论:0      收藏:0      [点我收藏+]

标签:source   就是   方法   div   service   autowire   其他   注入   请求   

1、@Resource注解和@Autowired的区别

@Autowired注解:是按类型装配依赖对象,默认情况下它要求依赖对象必须存在,如果允许null值,可以设置它required属性为false。

@Resource注解:和@Autowired一样,也可以标注在字段或属性的setter方法上,但它默认按名称装配。名称可以通过@Resource的name属性指定,如果没有指定name属性,当注解标注在字段上,即默认取字段的名称作为bean名称寻找依赖对象,当注解标注在属性的setter方法上,即默认取属性名作为bean名称寻找依赖对象。

简单点说,就是:@Resources按名字,是JDK的;@Autowired按类型,是Spring的。

2、@Component, @Repository, @Service,@Component, @Repository, @Service的区别

注解含义
@Component 最普通的组件,可以被注入到spring容器进行管理
@Repository 作用于持久层
@Service 作用于业务逻辑层
@Controller 作用于表现层(spring-mvc的注解)

@Component@Service@Controller@Repository是spring注解,注解后可以被spring框架所扫描并注入到spring容器来进行管理
@Component是通用注解,其他三个注解是这个注解的拓展,并且具有了特定的功能
@Repository注解在持久层中,具有将数据库操作抛出的原生异常翻译转化为spring的持久层异常的功能。
@Controller层是spring-mvc的注解,具有将请求进行转发,重定向的功能。
@Service层是业务逻辑层注解,这个注解只是标注该类处于业务逻辑层。

@Resource、@Autowired等几个注解的区别

标签:source   就是   方法   div   service   autowire   其他   注入   请求   

原文地址:https://www.cnblogs.com/yanghj/p/12885937.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!