7

我可以在方法中使用@value 注释来读取属性吗?

    void method1(){

     @Value("#{AppProperties['service.name']}") String name;
     -------
      -------
   } 
4

2 回答 2

8

方法变量的私有访问器是不合适的。

如果看@Value注解的定义,只能放在FIELD、PARAMETER或METHOD级别。

@Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Value {

因此,要么将名称声明为类属性,要么声明为方法参数...

于 2012-09-12T15:38:19.187 回答
7

不 :) 您可以使用注释来注释类、字段、方法及其参数。但不是在方法中,因为没有办法使用反射来获取方法局部变量以处理这些注释。在您的字段中使用@Value,并从您的方法中读取值。

于 2012-09-12T15:35:29.317 回答