码迷,mamicode.com
首页 > 编程语言 > 详细

Spring 梳理 - @Autowired VS @Resource

时间:2018-12-31 10:25:31      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:qualifier   void   source   spring   注解   个人   font   round   就是   

  1. Autowired
    1. @Autowired顾名思义,就是自动装配,其作用是为了消除代码Java代码里面的getter/setter与bean属性中的property。当然,getter看个人需求,如果私有属性需要对外提供的话,应当予以保留。

    2.  

      这里@Autowired注解的意思就是,当Spring发现@Autowired注解时,将自动在代码上下文中找到和其匹配(默认是类型匹配)的Bean,并自动注入到相应的地方去。

    3. @Autowired(required = false)
    4. public class TestServiceImpl {
          // 下面两种@Autowired只要使用一种即可
          @Autowired
          private UserDao userDao; // 用于字段上
          
          @Autowired
          public void setUserDao(UserDao userDao) { // 用于属性的方法上
              this.userDao = userDao;
          }
      }

       

    5. @Autowired接口注入
      1. 接口有两个实现类,Spring并不知道应当引用哪个实现类。这种情况通常解决办法:
      2. 使用@Qualifier注解,注意@Qualifier注解Car接口实现类的类名,不是bean的名称
      3.     @Autowired
            @Qualifier("BMW")
            private Car car;

         

  2. @Resource
    1. @Resource 与 @Autowired功能相似
    2. 默认通过name属性去匹配bean,找不到再按type去匹配
    3. 可以指定name或者type
      1.     @Resource(name = "xxx")
            private Yyy  y1;
            
            @Resource(type = Yyy.class)
            private Yyy y2;

         

  3. @Resource  VS  @Autowired
    1. 、@Autowired是Spring的注解,@Resource是J2EE的注解

Spring 梳理 - @Autowired VS @Resource

标签:qualifier   void   source   spring   注解   个人   font   round   就是   

原文地址:https://www.cnblogs.com/jiangtao1218/p/10201439.html

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