Spring中的@Autowiring和@Resource注释

时间:2015-03-24 23:07:45

标签: spring

我的问题很快,我们使用@Autowire按类型连接bean,并使用@Resource按名称连接,但我总是看到这些注释用于连接类中的变量,它们是否可以在类级别使用以及连接对象的所有属性?

谢谢

2 个答案:

答案 0 :(得分:1)

让我尝试使用注释的API回答您的问题。

@Retention(value=RUNTIME)
@Target(value={CONSTRUCTOR,FIELD,METHOD})
public @interface Autowired

@Target(value={TYPE,FIELD,METHOD})
@Retention(value=RUNTIME)
public @interface Resource

如果您想知道何时可以使用注释,请转到API并特别注意@Target值。

<强> ANNOTATION_TYPE 注释类型声明

构造 构造函数声明

字段 字段声明(包括枚举常量)

<强> LOCAL_VARIABLE 局部变量声明

方式 方法声明

<强> PACKAGE 包裹声明

<强> PARAMETER 参数声明

<强> TYPE 类,接口(包括注释类型)或枚举声明

一般情况下,注释只能用于@Target值中定义它们的位置。

答案 1 :(得分:0)

是的,只需查看代码或javadoc

即可
  • 自动装配:ctor(但只有一个),字段,方法,注释

    @Target({ElementType.CONSTRUCTOR,ElementType.FIELD,ElementType.METHOD,ElementType.ANNOTATION_TYPE})

  • 资源:类型,字段,方法

    @Target({TYPE,FIELD,METHOD})