zoukankan      html  css  js  c++  java
  • @Autowired和@Resource的区别

    转载:https://www.cnblogs.com/wangxiaoce/p/7056907.html

    用途

    做bean的注入时使用

    历史

           @Autowired       属于Spring的注解               org.springframework.beans.factory.annotation.Autowired

          @Resource  不属于Spring的注解,JDK1.6支持的注解     javax.annotation.Resource

    共同点

      装配bean. 写在字段上,或写在setter方法

    不同点

      @Autowired  默认按类型装配   

            依赖对象必须存在,如果要允许null值,可以设置它的required属性为false   @Autowired(required=false)

            也可以使用名称装配,配合@Qualifier注解

            

    1 public class TestServiceImpl {
    2     @Autowired
    3     @Qualifier("userDao")
    4     private UserDao userDao; 
    5 }

      @Resource  默认按名称进行装配,通过name属性进行指定

    复制代码
    public class TestServiceImpl {
        // 下面两种@Resource只要使用一种即可
        @Resource(name="userDao")
        private UserDao userDao; // 用于字段上
        
        @Resource(name="userDao")
        public void setUserDao(UserDao userDao) { // 用于属性的setter方法上
            this.userDao = userDao;
        }
    }
    复制代码

    总结:大白话解释,@Autowired自动注解,举个例子吧,一个类,俩个实现类,Autowired就不知道注入哪一个实现类,而Resource有name属性,可以区分。

  • 相关阅读:
    131. Palindrome Partitioning
    130. Surrounded Regions
    129. Sum Root to Leaf Numbers
    128. Longest Consecutive Sequence
    125. Valid Palindrome
    124. Binary Tree Maximum Path Sum
    122. Best Time to Buy and Sell Stock II
    121. Best Time to Buy and Sell Stock
    120. Triangle
    119. Pascal's Triangle II
  • 原文地址:https://www.cnblogs.com/joe-tang/p/9213545.html
Copyright © 2011-2022 走看看