如何向bean中注入从控制器读取的属性文件的值?

时间:2012-11-20 12:43:41

标签: java spring properties dependency-injection

我想使用控制器从.properties文件中读取属性,并在jsp文件中显示其值,这是一个使用依赖注入的视图,方法是将检索到的属性存储在pojo中。

3 个答案:

答案 0 :(得分:2)

使用PropertyPlaceholderConfigurer进行此操作。属性将由弹簧加载,因此您的控制器无需执行此操作。您可以将属性直接注入视图中。

答案 1 :(得分:0)

试试这个

@Component
class MyComponent {

  @Property(key = "proo.xmlurl")
  public void setUrlString(String urlStr) {
        try {
            this.url = new URL(urlStr);
        } catch(MalformedURLException e) {
            throw new IllegalArgumentException(urlStr + " is not a valid http         url", e);
        }
    }
}

在您的属性文件中放置此

proo.xmlurl=${proo.xmlurl}

答案 2 :(得分:0)

AppContext可以拥有:

<context:property-placeholder location="classpath:my.properties" ignore-unresolvable="true"/>

控制器可以拥有此

@Value("${language}")
private String language;

@Value("${allLanguages}")
private String allLanguages;

其中属性文件包含此或类似的

language = java 
alllanguages = java and \
               c++
somethingelse = whatever