spring - 如何在spring bean中注入(inject)完整的属性文件

标签 spring resources properties-file

我有一个包含很多值的属性文件,我不想在我的 bean 配置文件中单独列出它们。例如:

<property name="foo">
    <value>${foo}</value>
</property>
<property name="bar">
    <value>${bar}</value>
</property>

等等。

我想将所有内容完全注入(inject)为 java.util.Properties 或更少作为 java.util.Map。 有办法吗?

最佳答案

对于 Java 配置,您可以使用如下内容:

@Autowired @Qualifier("myProperties")
private Properties myProps;

@Bean(name="myProperties")
public Properties getMyProperties() throws IOException {
    return PropertiesLoaderUtils.loadProperties(
        new ClassPathResource("/myProperties.properties"));
}

如果您为每个实例分配一个唯一的 bean 名称(Qualifier),您也可以通过这种方式拥有多个属性。

关于spring - 如何在spring bean中注入(inject)完整的属性文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5938768/

相关文章:

Spring模型属性覆盖同名的 session 属性

java - 无法使用 Spring 的 WebServiceTemplate 将 Http header 添加到消息中

wpf - 单独的 ResourceDictionary 中的 DataTemplate

c# - 项目间资源共享策略

java - Spring:在 Maven 插件项目中请求加载属性,但使用插件所在项目中的文件

java - 为什么不将所有 .properties 文件转换为 UTF-8?

Tomcat 中的 spring-boot app war 部署,现有的 spring web 应用程序失败

java - Hibernate repo查询访问mongodb嵌入文档

android - Android Studio编译错误,显示 “Content is not allowed in prolog”

java - 将 settings.xml 中设置的属性访问到 spring.xml