我有一个“ spring boot ”应用程序,它在我的应用程序中使用“ application.yml ”文件作为外部化属性。 以下是我的YML的一小部分:
direction:
threshold: 2
head: From {1} head {0}
turn: Turn {0}
straight: Continue {0}
elevator.A: Choose floor {0}
elevator.E: Take elevator to floor {0}
elevator.W: Take elevator to floor {0}
destination: Arrive at {0}
我研究了将属性纳入spring应用程序的各种方法。他们中的大多数都指我创建一个bean,如下所示
@Configuration
@EnableConfigurationProperties
@ConfigurationProperties(prefix="direction")
public class ApplicationConfig {
public String threshold;
public String head;
........
}
然后将所有单个属性声明为变量并添加getter setter。
在我切换到SpringBoot和YML之前,我使用了 PropertyPlaceholderConfigurer ,其中有一个名为 processProperties 我可以处理所有属性并将它们放在Map中,然后访问应用程序中的地图以获取单个值。这个方法的缺点是我不得不像这样在XML中声明一个 PropertyManager 。
<bean class="org.bii.xyz.util.PropertyManager">
<property name="locations">
<list>
<value>/res/xyz.properties</value>
<value>/res/environment.properties</value>
</list>
</property>
</bean>
我想避免使用上下文XML文件。
有没有办法在不使用上下文xml文件的情况下使用类似于ProcessProperties和YML文件的东西?
到目前为止,我的所有搜索都引导我创建一个bean并使用SEPL声明个人属性或访问属性文件 $ {...}