zoukankan      html  css  js  c++  java
  • @resource、@Autowired、@Service在一个接口多个实现类中的应用

      Spring在没有引入注解之前,传统的Spring做法是使用.xml文件来对bean进行注入,所有的内容都需要配置在.xml文件中,使配置和编程分离,却增加了可读性和复杂度。

           Spring注解将复杂的配置文件用简单@xxx代替,当出现一个接口多个实现类的时候,究竟是用的哪个实现类呢?

    示例代码:

    public interface DataDao{
    }

    @Service

    public class ImgDataDao implements DataDao{

    }

    @Service

    public class PayDataDao implements DataDao{

    }

    public class TestCase{
    @Resource

    private DataDao imgDataDao;

    @Resource

    private DataDao payDataDao;


    }

    1)利用@Service注解自动将类ImgDataDao和类PayDataDao注解为bean,id为imgDataDao和payDataDao,即类ImgDataDao和类PayDataDao的第一个字母小写的id。

    2)@Resource按byName自动注入,@Autowired按byType自动注入;

    3)@Resource可用@Autowired替换

    4)当不想用默认的imgDataDao和payDataDao----id命名时,可用变为如下:

    @Resource(name="imgDataDao")                             

    private DataDao xx;

    或者:

    @Autowired

    @Qualifier("imgDataDao")

    private DataDao yy;
    ---------------------
    作者:Judy-ya
    来源:CSDN
    原文:https://blog.csdn.net/jisuli1987/article/details/76036744

  • 相关阅读:
    codevs 2833 奇怪的梦境
    codevs 3058 寻找sb5
    codevs 2989 寻找somebody
    并查集
    排列组合
    序章
    [POJ2625][UVA10288]Coupons
    2017NOIP模拟赛-科普基地
    AIM Tech Round 5 (rated, Div. 1 + Div. 2)
    浙江十套
  • 原文地址:https://www.cnblogs.com/zl181015/p/10075281.html
Copyright © 2011-2022 走看看