Spring Boot - 从属性文件注入映射[重复]

2023-11-29

属性文件如下所示:

url1=path_to_binary1
url2=path_to_binary2

根据this我尝试了以下方法:

@Component
@EnableConfigurationProperties
public class ApplicationProperties {
    private Map<String, String> pathMapper;

    //get and set
}

在另一个组件中,我自动装配了 ApplicationProperties:

@Autowired
private ApplicationProperties properties;         
      //inside some method:
      properties.getPathMapper().get(appName);

产生NullPointerException.

如何纠正呢?

update

我根据 user7757360 的建议有正确的:

@Component
@EnableConfigurationProperties
@ConfigurationProperties(prefix="app")
public class ApplicationProperties {

和属性文件:

app.url1=path_to_binary1
app.url2=path_to_binary2

还是不行

Update 2

@Component
@EnableConfigurationProperties
@ConfigurationProperties(prefix="app")
public class ApplicationProperties {
    private Map<String, String> app;

和里面application.properties:

app.url1=path_to_binary1
app.url2=path_to_binary2

还是不行


如果您能为属性文件提供更具体的示例,将会很有帮助。您应该在 url1 和 url2 中具有相同的前缀,然后您可以使用

@ConfigurationProperties(prefix="my")

as in

my.pathMapper.url1=path_to_binary1 my.pathMapper.url2=path_to_binary2

@Component
@EnableConfigurationProperties
@ConfigurationProperties(prefix="my")
public class ApplicationProperties {
    private Map<String, String> pathMapper;

    //get and set for pathMapper are important
}

更多信息请访问https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html#boot-features-external-config-loading-yaml

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring Boot - 从属性文件注入映射[重复] 的相关文章

随机推荐

  • PHP 上的 AES256 字符串加密和 iPhone 上的解密

    我的 php 代码中有这个 iv size mcrypt get iv size MCRYPT RIJNDAEL 256 MCRYPT MODE ECB iv mcrypt create iv iv size MCRYPT RAND key
  • 如何从android中的本地电话簿获取联系人

    我想在列表中显示所有本机联系人 并让用户将列表中的联系人 多个联系人 添加到我的应用程序数据库中 如何做到这一点 任何人都可以给我想法或分享一些代码 提前致谢 我在 Android 2 1 上使用了这段代码 它会拉下任何拥有电话号码 由 S
  • 如何轻松迭代“strings.xml”资源文件中的所有字符串?

    我创建了一个使用 TTS 引擎向用户发送反馈的应用程序 为了提高性能 我使用了synthesizeToFile and addSpeech方法 但要合成的文本字符串位于strings xml文件 因此我必须为 TTS 引擎说出的每个字符串调
  • “django 不支持从方法到十进制的转换”错误

    因此 我正在尝试计算下面提到的参数的咖啡价格 但是 每次我尝试调用 Coffeeprice 方法时 它都会给我一个conversion from method to Decimal is not supported error 我的视图和模
  • 如何从字符串中删除多个换行符

    给定一个字符串 我需要检查是否有多个换行符 n 如果有的话我需要将它们转换为一个换行符 你能给我看一下执行此操作的代码吗 谢谢 try this s s replaceAll r n 2 1
  • GCM CCS 上游消息是否会强制重新连接到 GCM 网络?

    我遇到了一些问题 GCM 推送通知无法在 Android 设备上正确到达 经过几天的研究 我发现 Android 设备使用心跳来保持与 GCM 服务的连接 遗憾的是 心跳似乎太高 因此 Android 设备可能 但并非总是 失去与 GCM
  • 完成另一个活动的活动[重复]

    这个问题在这里已经有答案了 假设我有 3 个活动 A B 和 C A 导致 B B 再导致 C 我希望能够在 A 和 B 之间来回移动 但我希望一旦 C 开始就完成 A 和 B 我了解如何通过意图启动 C 时关闭 B 但是当 C 启动时如何
  • 二维数组声明 - Objective C

    有没有办法分两步声明一个二维整数数组 我的范围有问题 这就是我正在尝试做的 I know Java so this is an example of what I am trying to replicate int Array Array
  • 将 Java Applet 嵌入到 .html 文件中

    我在将小程序嵌入网页时遇到问题 我认为我做得不对 我的 html 文件与 class 文件位于同一目录中 我的主要方法在 CardApp 类中 这是我的html代码 让小程序在多种浏览器上运行是非常困难的 早期标签没有得到适当的标准化 因此
  • 要设置哪些管理员角色设置才能访问该域的 Google Classroom API?

    我们正在尝试创建一个单独的管理员角色来分配给用户 以便能够调用 Google Classroom API 域 如果我们将它们设置为 超级管理员 它可以工作 但我们不想授予这些用户超级管理员权限 有人知道任何指南或设置吗 Answer 除此以
  • 如何防止直接访问 Azure 应用服务中托管的 API

    我有一个托管在 Azure 应用服务中的后端 API 我想使用 Azure API 管理作为此后端 API 的前端 并已在 Azure 中成功配置它 我已将 API 管理配置为在访问此后端 API 时使用 OAuth 这在客户端通过 Azu
  • 如何使用 Mockito 在 java 中模拟 new Date()

    我有一个使用当前时间进行一些计算的函数 我想用mockito来模拟它 我想测试的类的一个例子 public class ClassToTest public long getDoubleTime return new Date getTim
  • 是否有 Java 库可以访问本机 Windows API?

    是否有 Java 库可以访问本机 Windows API 使用 COM 或 JNI 你可以尝试这两个 我已经看到这两个都成功了 http jawinproject sourceforge net Java Win32 集成项目 Jawin
  • phpunit dbunit @dataProvider 不起作用

    我花了很多时间寻找问题出在哪里 但我没有找到任何东西 它说 testAdd 导致错误 缺少参数 当我运行测试时 只是没有执行 dataProvider 我尝试将 die 放入 dataProvider 中 但它还没有死 这是我的代码 cla
  • 为什么nslookup.exe可以解析指定的DNS服务器,但dnsapi.dll中没有相应的API?

    nslookup exe www google com 127 0 0 1 该命令可以使用 DNS 服务器 127 0 0 1 进行解析 不可能在 75 0 KB 的 nslookup exe 中实现全栈 DNS 协议解析器 因此它必须使用
  • 当自动化 Eclipse 的“导出为功能”时,Maven/Tycho 看不到我的插件

    我的工作区中有一个插件和一个功能项目 当我通过 文件 gt 导出为 gt 功能 手动导出功能时 一切正常 我正在尝试编写一个自动插件构建和导出脚本来摆脱这种苦差事 我将功能项目转换为 Maven 项目 并用以下内容填充 pom xml
  • 如何使用多个命令运行 NSTask

    我正在尝试让 NSTask 运行如下命令 ps clx grep 查找器 awk 打印 2 这是我的方法 void processByName NSString name NSTask task1 NSTask alloc init NSP
  • Angular:添加指令时控制器未定义

    向我的网站添加指令时出现以下错误 Error ng areq Argument MainController is not a function got undefined 仅当我在网站中包含welcome directive welcom
  • PouchDB + 冲突解决

    我有一个关于难题的非常简单的问题 PouchDB 中的冲突解决如何工作 我查看了文档 并快速谷歌搜索 但没有帮助 那么 如何在使用 PouchDB 的应用程序中处理冲突管理 以下是在 CouchDB 中的操作方法 您可以直接将其转换为 Po
  • Spring Boot - 从属性文件注入映射[重复]

    这个问题在这里已经有答案了 属性文件如下所示 url1 path to binary1 url2 path to binary2 根据this我尝试了以下方法 Component EnableConfigurationProperties