Spring通過配置文件和注解實(shí)現(xiàn)屬性賦值
前言
在實(shí)際開發(fā)當(dāng)中,Spring中bean的屬性直接賦值用的不是太多,整理這方面的資料,做一個(gè)小結(jié),以備后續(xù)更深入的學(xué)習(xí)。
通過配置文件的方式
以配置文件的方式啟動(dòng)spring容器時(shí),可以使用property標(biāo)簽的value給bean的屬性賦值,賦值的形式有以下幾種:
<--通過context:property-placeholder將properties文件中的值加載的環(huán)境變量中(properties中的屬性值最終是以環(huán)境變量的形式存儲(chǔ)的)><context:property-placeholder location='classpath:person.properties'/> <bean > <--①通過基本數(shù)值直接賦值--> <property name='name' value='zhangsan'></property> <--②通過${}取出配置文件中的值--> <property name='age' value='${person.age}'></property> <--③通過Spring的El表達(dá)式--> <--<property name='age' value='10*2'></property>--></bean>
classpath下的properties文件內(nèi)容
person.age=u5C0Fu674Eu56DB
通過注解的方式
使用properties的value對(duì)應(yīng)的注解給屬性賦值
//使用@PropertySource讀取外部配置文件中的k/v保存到運(yùn)行的環(huán)境變量中;加載完外部的配置文件以后使用${}取出配置文件的值@PropertySource(value={'classpath:/person.properties'})@Configurationpublic class MainConfigOfPropertyValues { @Bean public Person person(){ return new Person(); }}
public class Person { //使用@Value賦值; //1、基本數(shù)值 //2、可以寫SpEL; #{} //3、可以寫${};取出配置文件【properties】中的值(在運(yùn)行環(huán)境變量里面的值) @Value('張三') private String name; @Value('#{20-2}') private Integer age; /* @Value('${person.age}') private Integer age;*/}
注:
外部配置文件中的k/v保存到運(yùn)行的環(huán)境變量中,可以直接在環(huán)境變量中取出對(duì)應(yīng)的值
AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(MainConfigOfPropertyValues.class);ConfigurableEnvironment environment = applicationContext.getEnvironment();String property = environment.getProperty('person.age');
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. Android 7.0 運(yùn)行時(shí)權(quán)限彈窗問題的解決2. java實(shí)現(xiàn)圖形化界面計(jì)算器3. IntelliJ IDEA設(shè)置條件斷點(diǎn)的方法步驟4. IDEA的Mybatis Generator駝峰配置問題5. ASP.NET MVC解決上傳圖片臟數(shù)據(jù)的方法6. 如何利用python和DOS獲取wifi密碼7. Thinkphp3.2.3反序列化漏洞實(shí)例分析8. python Xpath語法的使用9. 原生js XMLhttprequest請(qǐng)求onreadystatechange執(zhí)行兩次的解決10. python 批量將PPT導(dǎo)出成圖片集的案例
