zoukankan      html  css  js  c++  java
  • Spring 与 @Resource注解

       Spring 中支持@Autowired注解,能够实现bean的注入。同时,Spring 也支持@Resource注解,它和@Autowired类似,都是实现bean的注入。该注解存在javax.annotation.Resource包中。

      使用方法如下:

      

    1 import javax.annotation.Resource;
    2 public class A{
    3 
    4   @Resource
    5   private B b;     
    6    
    7 }

      其中@Resource有两个参数会在spring配置中进行准确的查找bean,分别是"name"和"type",name属性是bean的名字,即设置的id;

    type是一个class类型,即该bean的类型。如果找不到则会抛出异常。默认情况缺省设置name,则会按照bean的id属性查找。设置格式

    @Resource(name="b",type="B").

    ==============================================

    补充:

    如果Resource注解的是一个接口,但此接口有多个实现类的话,以上方法是不行的,当找到多个实现类的时候,spring会报错。有两种使用情况:

    1.需要这个接口的其中一个实现类。如果要指定某一个实现类,可以再Resource注解中指定一个name, 该name就是实现类的id。

    2. 需要这个接口的多个实现类,此时不能在属性上加注解了,而是要在对应的set方法中注入,set方法参数为具体的接口实现类。示例代码如下:

     1 1、采用字段名称,则会注入失败
     2 @resource
     3 private IUserDao userDao;
     4  
     5 2、采用set方法注入,则可以注入UserDao1
     6 @resource
     7 public void setUserDao(UserDao1 userDao)
     8 //注入UserDao2 
     9 @resource
    10 public void setUserDao(UserDao2 userDao)
  • 相关阅读:
    Microsoft Visual C++ Compiler for Python
    ArcGIS Server的Tile的松散型存储(Exploded)
    git下载指定版本的代码
    C#+SharpMap的相关代码
    C#+MapServer相关代码
    WebGIS点要素渲染性能测试
    Docker的4种网络模式
    AngularJS中的指令全面解析(转载)
    风云2号云图Mosaic Dataset处理
    查找错误的等值线中的高程点
  • 原文地址:https://www.cnblogs.com/bigbang92/p/4031641.html
Copyright © 2011-2022 走看看