我想要一种简单的,最好是基于注释的方式,将外部属性注入到Java程序中,而无需使用spring框架(org.springframework.beans.factory.annotation.Value;)
org.springframework.beans.factory.annotation.Value;
SomeClass.java
@Value("${some.property.name}") private String somePropertyName;
application.yml
some: property: name: someValue
在标准库中是否有建议的方法?
我最终使用apache commons配置:
pom.xml:
<dependency> <groupId>commons-configuration</groupId> <artifactId>commons-configuration</artifactId> <version>1.6</version> </dependency>
src /…/ PropertiesLoader.java
PropertiesConfiguration config = new PropertiesConfiguration(); config.load(PROPERTIES_FILENAME); config.getInt("someKey");
/src/main/resources/application.properties
someKey: 2
我不想将我的库变成Spring应用程序(我想要@Value注释,但没有应用程序上下文+ @Component,多余的bean,多余的Spring生态系统/包,这在我的项目中没有意义)。
@Value
@Component