我可以在方法中使用@value注释来读取属性吗?
void method1(){
@Value("#{AppProperties['service.name']}") String name;
-------
-------
}
答案 0 :(得分:6)
no :)您可以使用注释来注释类,字段,方法及其参数。但不是在方法中,因为没有办法,使用反射来获取方法局部变量以处理这些注释。在您的字段中使用@Value,并从您的方法中读取值。
答案 1 :(得分:6)
方法变量私有的访问者是不合适的。
如果查看@Value注释的定义,它只能放置FIELD,PARAMETER或METHOD级别。
@Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Value {
因此,要么将name声明为类属性,要么将其声明为方法参数...