以前使用春天的使用要注入财产要配置PropertyPlaceholder的bean对象。在springboot除,了这种方式以外还可以通过制定配置ConfigurationProperties直接把财产文件的属性映射到当前类里面。
@ConfigurationProperties(前缀=癿ypro”,合并=true,位置={"类路径:我的。属性”})
ConfigurationProperties前缀属性指示财产文件中属性的前缀是什么。我这里写的是mypro。
因此财产文件的属性必须mypro.x.y=z的形式;
,,,,配置好ConfigurationProperties之后就可以把财产文件的属性映射到当前类了。
mypro.a: 1 mypro.b: 2 abc.d: 123
属性文件里面mypro前缀的有a和b两个。因此我在当前类就可以新建这两个属性。
私人int; 私人int b;
这些需要映射的属性一定要加上getter和setter。因为春天是通过反射调用方法来修改属性值的
,,,,,,,以前使用弹簧注入财产的方式也同样适用。以前是xml配置PropertyPlaceholder。现在使用@ bean或者直接@ component配置这个类。只要把PropertyPlaceholderConfigurer添加到bean工厂,就可以使用@ value取值了。
@ component 公开课MyPropertyPlaceholderConfigurer延伸PropertyPlaceholderConfigurer { 公共MyPropertyPlaceholderConfigurer () { this.setIgnoreResourceNotFound(真正的); 最后ListresourceLst=new ArrayList (); resourceLst。添加(新ClassPathResource (“my.properties”)); this.setLocations (resourceLst。toArray(新资源[]{})); } } @ value (“abc.d”) 私人字符串测试;
,,,,,,,另外的一种方法跟第二种差不多的。更像以前的xml配置PropertyPlaceholder。只是现在的配置是用@ configuration标注的类,用@ bean标注要配置的bean对象,
@ configuration 公开课Testproperties { @ bean 公共PropertyPlaceholderConfigurer属性(){ 最后PropertyPlaceholderConfigurer ppc=new PropertyPlaceholderConfigurer (); ppc.setIgnoreResourceNotFound(真正的); 最后ListresourceLst=new ArrayList (); resourceLst。添加(新ClassPathResource (“my.properties”)); ppc.setLocations (resourceLst。toArray(新资源[]{})); 返回ppc; } }
以上所述是小编给大家介绍的弹簧启动注入财产的三种方式,希望对大家有所帮助,如果大家有任何疑问请给我留的言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!