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

@resource、@Autowired、@Service在一个接口多个实现类中的应用

时间:2018-12-06 11:04:07      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:.net   tps   detail   使用   替换   stc   inter   auto   vat   

  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

@resource、@Autowired、@Service在一个接口多个实现类中的应用

标签:.net   tps   detail   使用   替换   stc   inter   auto   vat   

原文地址:https://www.cnblogs.com/zl181015/p/10075281.html

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