问题与Spring有关。我的项目中有application.properties
个文件。我希望在我的服务类中使用这些值。我可以在服务类中将这些属性值作为bean获取吗?
class MyServiceClass{
@Autowired
Properties myproperty;
// ....
}
我希望能够使用myproperty。应该对配置进行哪些更改,以便将application.properties
与我的服务类连接起来?
答案 0 :(得分:0)
你可以将它们注入你的bean:
@Value("${name}")
private String someConfiguration;
答案 1 :(得分:0)
不确定我是否完全理解这个问题。我想你想要访问道具文件中的键和值?如果是这样,也许这会有所帮助:
<bean id="mapProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="ignoreResourceNotFound" value="true"/>
<property name="fileEncoding" value="UTF-8"/>
<property name="locations">
<list>
<value>classpath:application.properties</value>
</list>
</property>
</bean>
<bean id="myMap" class="com.google.common.collect.ImmutableMap" factory-method="copyOf">
<constructor-arg ref="mapProperties"/>
</bean>
现在您可以像平常一样访问bean中的myMap:
@Autowired
private ImmutableMap<String, String> myMap;
此示例使用guava ImmutableMap,但您可以使用HashMap或其他任何内容。