代码之家  ›  专栏  ›  技术社区  ›  TP_JAVA

如何在方法内部使用@value注释从属性文件中读取属性?

  •  9
  • TP_JAVA  · 技术社区  · 12 年前

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

        void method1(){
    
         @Value("#{AppProperties['service.name']}") String name;
         -------
          -------
       } 
    
    2 回复  |  直到 12 年前
        1
  •  8
  •   yodamad    12 年前

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

    如果查看@Value注释的定义,则只能将其放置在FIELD、PARAMETER或METHOD级别。

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

    所以,要么将name声明为类属性,要么将其声明为方法参数。。。

        2
  •  7
  •   Erhan Bagdemir    12 年前

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