不使用Spring注入应用程序属性

时间:2016-11-28 01:06:57

标签: java spring properties annotations spring-annotations

我想要一个简单的,最好是基于注释的方法将外部属性注入java程序,而不使用spring框架(org.springframework.beans.factory.annotation.Value;

SomeClass.java

@Value("${some.property.name}")
private String somePropertyName;

application.yml

some:
  property:
    name: someValue

是否有推荐的方法在标准库中执行此操作?

2 个答案:

答案 0 :(得分:8)

我最终使用apache commons configuration

的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生态系统/行李没有意义在我的项目中)。

答案 1 :(得分:0)

我曾经被告知java:javax.inject(JSR-330)包中有标准的DI库。但是我没有在jdk 1.8中找到它(但是一个名为javax.injtct-1.jar的jar)。