您现在的位置是:主页 > news > 做美食网站的图片素材/网站推广策划书模板
做美食网站的图片素材/网站推广策划书模板
admin2025/6/20 7:27:15【news】
简介做美食网站的图片素材,网站推广策划书模板,二手车网站开发过程,低面效果在哪个网站做Springboot 读取yml中的值作为参数,有2种写法: 例子: 已知有如下yml配置: myapps:1131f78c313e11e79da3000c298bdf0e: AMS系统1ae211c543a14cf6981274fec3281f0c: BMS系统app1: 测试 现在需要将myapps读到配置文件作为配置类…
Springboot 读取yml中的值作为参数,有2种写法:
例子:
已知有如下yml配置:
myapps:1131f78c313e11e79da3000c298bdf0e: AMS系统1ae211c543a14cf6981274fec3281f0c: BMS系统app1: 测试
现在需要将myapps读到配置文件作为配置类。有2种做法:
1、配置类集中放置
也就是说应用中设一个配置类,所有涉及yml配置的类都放置在该类中。
@Configuration
@Order(Ordered.HIGHEST_PRECEDENCE)
public class MyConfiguration {static Logger log = LoggerFactory.getLogger(MyConfiguration.class);@Beanpublic static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {return new PropertySourcesPlaceholderConfigurer();} @Value("${px.a.trackerServer}")String trackerServer = ""; @Value("${px.a.disabled:true}")boolean disableA = true;@Bean@ConfigurationProperties(prefix = "px.client")ClientConfigInfo clientConfigInfo(){ClientConfigInfo clientConfigInfo = new ClientConfigInfo(); return clientConfigInfo;}@Bean@ConfigurationProperties(prefix = "px")MyAppConfiguration myAppConfiguration(){MyAppConfiguration myAppConfiguration = new MyAppConfiguration ();return myAppConfiguration;}}
这里配置为:
@Bean
@ConfigurationProperties(prefix = "px")
UdsAppConfiguration udsAppConfiguration(){
UdsAppConfiguration udsAppConfiguration = new UdsAppConfiguration();
return udsAppConfiguration;
}
2、配置类单独放置
也就是说把MyAppConfiguration单独作为一个配置类进行单独的组装。
@Component
@ConfigurationProperties(prefix="px", ignoreInvalidFields=true, ignoreUnknownFields=true)
public class MyAppConfiguration {static Logger log = LoggerFactory.getLogger(MyAppConfiguration.class);private Map<String, String> mysapps = new HashMap<String, String>();public Map<String, String> getMyapps() {return myapps;}public void setMyapps(Map<String, String> myapps) {this.myapps = myapps;} }
3、List读取
(1)yml
myapps:- 1131f78c313e11e79da3000c298bdf0e: AMS系统- 1ae211c543a14cf6981274fec3281f0c: BMS系统- app1: 测试
(2)配置类写法
@Component
@ConfigurationProperties(prefix="px", ignoreInvalidFields=true, ignoreUnknownFields=true)
public class MyAppConfiguration {static Logger log = LoggerFactory.getLogger(MyAppConfiguration.class);private List<Map<String, String>> mysapps = new ArrayList<Map<String, String>>(); public List<Map<String, String>> getMyapps() {return myapps;}public void setMyapps(List<Map<String, String>> myapps) {this.myapps = myapps;}}
4、问题:配置类没有获取到值
该问题的原因很可能是yml中定义的key与配置类中定义的属性名称不一致,导致Springboot自动装配时失败。出现该问题后,一定首先要仔细检查配置类对应属性的名称以及配置类映射的路径。