java javax.annotation.Resource注解的详解

转自:https://www.jb51.net/article/95456.htm

java 注解:java javax.annotation.Resource

 当我们在 xml 里面为类配置注入对象时,会发现 xml 文件会越来越臃肿,维护起来很麻烦。这时候我们可以使用注解这种机制来为类配置注入对象。

       Java 为我们提供了 javax.annotation.Resource 这个注解。

       spring 框架提供了 org.springframework.beans.factory.annotation.Autowired。

      一般情况下我们使用 javax.annotation.Resource 这个注解,因为这样我们就能实现和 spring 框架的解藕。

      @Resource 可以作用于字段和函数上。当作用于字段上的时候,如果我们只是简单的这样写  

                   @Resource
             PersonDao  p;

 这时候 spring 注入 p 的过程是 1:先查找 xml 中是否有 id 为 p 的元素

                                              2:如果没有找到,则看是否有 name 属性(@Resource  name=“”),有则查找 name

                                              3: 否则查找 persondao 类型的元素

      @Resource 可作用于 set 函数上。

       例如:

1
2
3
4
@Resource
  public void setP(PersonDao p) {
 this.p = p;
  }

           @Autowired 注解是根据类型进行查找,比如 PersonDao p,他会去 xml 文件里查找类型为 PersonDao 的元素