• @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

  • 相关阅读:
    java连接oracle
    用js实现登录的简单验证
    合并链表,按主键升序
    Jquery中.ajax和.post详解
    简洁的Jquery弹出窗插件
    服务端缓存页面及IIS缓存设置
    C#托管代码、非托管代码及回收机制
    页面滑动底部自动加载下一页信息
    EF各版本增删查改及执行Sql语句
    Node.Js and Mongoose
  • 原文地址:https://www.cnblogs.com/zl181015/p/10075281.html
Copyright © 2020-2023  润新知