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