以前使用spring的使用要注入property要配置PropertyPlaceholder的bean對(duì)象。在springboot除 了這種方式以外還可以通過(guò)制定 配置ConfigurationProperties直接把property文件的 屬性映射到 當(dāng)前類(lèi)里面。
成都創(chuàng)新互聯(lián)公司不只是一家網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司;我們對(duì)營(yíng)銷(xiāo)、技術(shù)、服務(wù)都有自己獨(dú)特見(jiàn)解,公司采取“創(chuàng)意+綜合+營(yíng)銷(xiāo)”一體化的方式為您提供更專(zhuān)業(yè)的服務(wù)!我們經(jīng)歷的每一步也許不一定是最完美的,但每一步都有值得深思的意義。我們珍視每一份信任,關(guān)注我們的成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)質(zhì)量和服務(wù)品質(zhì),在得到用戶滿意的同時(shí),也能得到同行業(yè)的專(zhuān)業(yè)認(rèn)可,能夠?yàn)樾袠I(yè)創(chuàng)新發(fā)展助力。未來(lái)將繼續(xù)專(zhuān)注于技術(shù)創(chuàng)新,服務(wù)升級(jí),滿足企業(yè)一站式全網(wǎng)營(yíng)銷(xiāo)推廣需求,讓再小的品牌網(wǎng)站建設(shè)也能產(chǎn)生價(jià)值!
@ConfigurationProperties(prefix = "mypro", merge = true, locations = { "classpath:my.properties" })
ConfigurationProperties prefix 屬性指示property文件中屬性的前綴是什么。我這里寫(xiě)的是mypro。
因此property文件的屬性必須mypro.x.y=z的形式;
配置好ConfigurationProperties 之后就可以把property文件的屬性映射到當(dāng)前類(lèi)了。
mypro.a:1 mypro.b:2 abc.d:123
property 文件里面mypro前綴的有a 和b兩個(gè)。因此我在當(dāng)前類(lèi)就可以新建這兩個(gè)屬性。
private int a; private int b;
這些需要映射的屬性一定要加上getter 和setter。因?yàn)閟pring是通過(guò)反射調(diào)用方法來(lái)修改屬性值的
以前使用spring注入property的方式也同樣適用。以前是xml配置PropertyPlaceholder?,F(xiàn)在使用@bean 或者直接@Component配置這個(gè)類(lèi)。只要把PropertyPlaceholderConfigurer添加到bean工廠,就可以使用@Value 取值了。
@Component public class MyPropertyPlaceholderConfigurer extends PropertyPlaceholderConfigurer{ public MyPropertyPlaceholderConfigurer(){ this.setIgnoreResourceNotFound(true); final ListresourceLst = new ArrayList (); resourceLst.add(new ClassPathResource("my.properties")); this.setLocations(resourceLst.toArray(new Resource[]{})); } } @Value("abc.d") private String test;
另外的一種方法跟第二種差不多的。更像以前的xml配置PropertyPlaceholder。只是現(xiàn)在的配置是用@Configuration標(biāo)注的類(lèi),用@Bean標(biāo)注要配置的bean對(duì)象;
@Configuration public class Testproperties { @Bean public PropertyPlaceholderConfigurer properties(){ final PropertyPlaceholderConfigurer ppc = new PropertyPlaceholderConfigurer(); ppc.setIgnoreResourceNotFound(true); final ListresourceLst = new ArrayList (); resourceLst.add(new ClassPathResource("my.properties")); ppc.setLocations(resourceLst.toArray(new Resource[]{})); return ppc; } }
以上所述是小編給大家介紹的spring boot 注入 property的三種方式,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)創(chuàng)新互聯(lián)網(wǎng)站的支持!