Spring通過配置文件和注解實現屬性賦值
前言
在實際開發當中,Spring中bean的屬性直接賦值用的不是太多,整理這方面的資料,做一個小結,以備后續更深入的學習。
通過配置文件的方式
以配置文件的方式啟動spring容器時,可以使用property標簽的value給bean的屬性賦值,賦值的形式有以下幾種:
<--通過context:property-placeholder將properties文件中的值加載的環境變量中(properties中的屬性值最終是以環境變量的形式存儲的)><context:property-placeholder location='classpath:person.properties'/> <bean > <--①通過基本數值直接賦值--> <property name='name' value='zhangsan'></property> <--②通過${}取出配置文件中的值--> <property name='age' value='${person.age}'></property> <--③通過Spring的El表達式--> <--<property name='age' value='10*2'></property>--></bean>
classpath下的properties文件內容
person.age=u5C0Fu674Eu56DB
通過注解的方式
使用properties的value對應的注解給屬性賦值
//使用@PropertySource讀取外部配置文件中的k/v保存到運行的環境變量中;加載完外部的配置文件以后使用${}取出配置文件的值@PropertySource(value={'classpath:/person.properties'})@Configurationpublic class MainConfigOfPropertyValues { @Bean public Person person(){ return new Person(); }}
public class Person { //使用@Value賦值; //1、基本數值 //2、可以寫SpEL; #{} //3、可以寫${};取出配置文件【properties】中的值(在運行環境變量里面的值) @Value('張三') private String name; @Value('#{20-2}') private Integer age; /* @Value('${person.age}') private Integer age;*/}
注:
外部配置文件中的k/v保存到運行的環境變量中,可以直接在環境變量中取出對應的值
AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(MainConfigOfPropertyValues.class);ConfigurableEnvironment environment = applicationContext.getEnvironment();String property = environment.getProperty('person.age');
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。
相關文章: