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

  • 相关阅读:
    Android的目录结构说明
    IOS-线程(GCD)
    iOS UI-线程(NSThread)及其安全隐患与通信
    iOS UI-自动布局(AutoLayout)
    iOS UI-自动布局(Autoresizing)
    IOS-Core Data的使用
    OC 数据持久化(数据本地化)- 本地存储
    iOS UI-应用管理(使用Cell模板)
    IOS UI-QQ好友列表
    IOS-多线程
  • 原文地址:https://www.cnblogs.com/zl181015/p/10075281.html
Copyright © 2011-2022 走看看