• @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 APK安装过程介绍
    Android Linux自带iptables配置IP访问规则
    海康视频监控---Demo
    Go之获取Windows下文件是否隐藏
    Go之go与channel组合使用
    Go并发编程(四)
    Go错误处理(二)
    Go面向对象(三)
    判断两端日期是否重合
    Sql分页存储过程
  • 原文地址:https://www.cnblogs.com/zl181015/p/10075281.html
Copyright © 2020-2023  润新知