如何在spring中读取application.properties?

如何在spring中读取application.properties?,spring,javabeans,Spring,Javabeans,这个问题和春天有关。我的项目中有application.properties文件。我希望在我的服务类中使用这些值。我可以在我的服务类中以bean的形式获取这些属性值吗 class MyServiceClass{ @Autowired Properties myproperty; // .... } 我希望能够使用我的财产。为了将应用程序.properties与我的服务类连接起来,应该进行哪些配置更改?您可以将它们注入到bean中: class MyServiceCla

这个问题和春天有关。我的项目中有
application.properties
文件。我希望在我的服务类中使用这些值。我可以在我的服务类中以bean的形式获取这些属性值吗

class MyServiceClass{
    @Autowired
    Properties myproperty;

    // ....
}

我希望能够使用我的财产。为了将
应用程序.properties
与我的服务类连接起来,应该进行哪些配置更改?

您可以将它们注入到bean中:

class MyServiceClass{
    @Autowired
    Properties myproperty;

    // ....
}
 @Value("${name}")
 private String someConfiguration;

不确定我是否完全理解这个问题。我想你想从你的道具文件中访问密钥和值?如果是这样,或许这将有助于:

<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>

类路径:application.properties
现在,您可以像平常一样在bean中访问myMap:

@Autowired
private ImmutableMap<String, String> myMap;
@Autowired
私有不可变映射myMap;

本例使用的是番石榴ImmutableMap,但您可能可以使用HashMap或其他任何工具。

它的可能副本不是本例的副本。但应该有一个,似乎是一个普通的事情想做+1,因为我找不到重复的。我希望application.properties的完整键值对作为bean。比如说,properties myproperty应该是自动连接的。