zoukankan      html  css  js  c++  java
  • @Resource、@Autowired等几个注解的区别

    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层是业务逻辑层注解,这个注解只是标注该类处于业务逻辑层。

  • 相关阅读:
    Best Time to Buy and Sell Stock III <leetcode>
    Best Time to Buy and Sell Stock <leetcode>
    Search a 2D Matrix <leetcode>
    Minimum Path Sum <leetcode>
    Container With Most Water <leetcode>
    Binary Tree Level Order Traversal II <leetcode>
    Rotate Image <leetcode>
    获取安装的apk应用信息
    判断wifi连接是否可用
    kubectl常用命令汇总
  • 原文地址:https://www.cnblogs.com/yanghj/p/12885937.html
Copyright © 2011-2022 走看看