spring boot2 项目配置系统变量方法
第一种最直接,再 yml 或 properties 配置文件中定义,然后通过 @Value
注入到需要使用的 @Component
。
@Value("#{${mqtt.upgrade}}")
private Map<String, String> mqttUpgrade;
上面的例子是在正常获取配置值 ${}
外面增加了 #{}
,表示可执行的语句,可以将 JSON 字符串转化为 Map
对象,然后通过 map.get("xx")
获取内部对应的参数。这个对于同一种配置项较多的情况比较有效。
更加正式一点的也可以单独设置一个配置文件,并创建一个配置类,通过 @PropertySource("classpath:filename")
注入到配置类中。
第二种就是从数据库中获取配置参数了。首先定义好对应的 mapper 和 service,然后将 service 注入到需要使用的 @Component
。
通过获取对应的 entity 属性,获取配置值。对应上面的 JSON 字符串的情况可以先解析再取值。
JSONObject xxConfig = JSON.parseObject(mqttConfig.getValue());
xxConfig.getString("");
xxConfig.getObject("");
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。