当前位置: 首页 > 知识库问答 >
问题:

将spring启动应用程序属性绑定到java。util。性质

白昊东
2023-03-14

我正在创建一个Spring启动应用程序,它也为外部库的一个类创建bean,这个外部java bean需要java.util.properties作为构造函数参数之一。虽然我可以使用配置Propety与前缀从Spring引导加载的属性文件读取属性并将其转换为java.util.properties.但是,我不希望在属性文件中有任何额外的前缀环境或属性来源java.util.properties

这是代码供参考

@Configuration
public class AppConfig {

    @ConfigurationProperties(prefix = "some.prefix")
    @Bean
    public Properties getProperties() {
        return new Properties();
    }

    @Bean
    public ExternalClass externalClass() throws ConfigException {
        return ExternalClass.getInstance(getProperties());
    }
}

上面的代码工作得很好,但是我需要为转换的属性添加一个不必要的前缀。有人能建议除了添加前缀之外的任何其他方法吗

共有1个答案

缪远航
2023-03-14

看看这个留档。它解释了Spring引导中使用的属性绑定技术。

 类似资料:
  • 我正在将一个现有的多模块maven项目迁移到spring boot 2.6.1,我已经填充了这个应用程序。其中一个模块(具有SpringBootApplication入口点和SpringBootMaven插件的模块)的resources文件夹中的属性。我可以通过应用程序环境从项目中的任何模块访问这些属性。但是,使用@Value绑定属性不起作用 以下是我的项目结构 为什么@Configuration

  • 我正在开发一个Spring Boot应用程序,我使用application.properties配置db连接、服务器端口等。 例如,如何在application.properties中实现以下XML配置

  • 我正在学习springboot并尝试连接到DB2数据库。我做得很好。 下面是我的工作DB2属性: 但我将它们重命名为以“db2”开头,而不是“Spring”,如下所示: 我的应用程序仍然运行,但是,当我这样做时,我的控制器不再像重命名前那样返回结果。 我这样问的原因是,如果我将来添加第二个数据源,如果我像这样命名它们,我可以很容易地通过它们的数据源来区分属性。 更新: 感谢下面的@Kosta Te

  • 我正在尝试使用spring boot properties launcher 关于为什么我的mainclass和startclass是错误的,有什么想法吗 我想将其设置为 主类:org.springframework.boot.loader.propertieslauncher

  • 我在SpringBoot中安装了开发人员应用程序,导出了war文件并将其放在Tomcat9服务器中。当我尝试在Rest客户端中测试API时,应用程序正在连接到测试DB,而不是我在应用程序中声明的DB。mongodb的属性,下面是我的应用程序。所有物 有人能帮我吗。

  • 我有一个预览页面,需要添加或编辑模型,并显示预览。 我需要从添加表单页和编辑表单页调用预览。我要通过的模型是相同的,但来自不同的形式。 (1) ModelAttribute是否有支持这种多属性名称映射的方法?(2) 我怎么能考虑重新设计这个?考虑(a)在表单提交之前重命名表单名称/属性以使用相同的属性名称。(b) 完全删除ModelAttribute——这不是我的选项,因为我使用的是SpringM