读取java代码

时间:2017-07-20 05:44:37

标签: java spring properties

我有一个属性文件名为documentum,内容如下:

#test
dfs.repositoryName = CUDO
dfs.contextRoot = http://13.209.9.28:9080/services
dfs.username = 1234
dfs.password = fx8888
dfs.moduleName = core

我已在beans.xml

中配置了此文件
<bean id="propertyConfigurer"
        class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="ignoreUnresolvablePlaceholders" value="false" />
        <property name="locations">
            <list>
                <value>file:${app.home}/documentum.properties</value>
            </list>
        </property>
    </bean>

现在我想做这样的事情,但我不知道如何在我的java代码中实现这一点。

String repository = ${dfs.repositoryName};

如果我在同一个类中使用@value注释,那么它工作正常但是如果我像这样使用单独的类

package au.com.fxa.sfdc.custdocs.util;

import org.springframework.beans.factory.annotation.Value;

public class DocumentumConfigUtil {


    @Value("${dfs.repositoryName}")
    private String repositoryName;

    @Value("${dfs.contextRoot}")
    private String contextRoot;

    @Value("${dfs.username}")
    private String username;

    @Value("${dfs.password}")
    private String password;

    @Value("${dfs.module}")
    private String module;

    public String getRepositoryName() {
        return repositoryName;
    }

    public String getContextRoot() {
        return contextRoot;
    }

    public String getUsername() {
        return username;
    }

    public String getPassword() {
        return password;
    }

    public String getModule() {
        return module;
    }

}

然后创建这个类的对象并尝试通过getter方法访问它,它给我空值。

1 个答案:

答案 0 :(得分:1)

使用@Value注释。

定义类属性,如

@Value("${dfs.repositoryName}")
String repository