Spring通過配置文件和注解實現(xiàn)屬性賦值
前言
在實際開發(fā)當中,Spring中bean的屬性直接賦值用的不是太多,整理這方面的資料,做一個小結(jié),以備后續(xù)更深入的學習。
通過配置文件的方式
以配置文件的方式啟動spring容器時,可以使用property標簽的value給bean的屬性賦值,賦值的形式有以下幾種:
<--通過context:property-placeholder將properties文件中的值加載的環(huán)境變量中(properties中的屬性值最終是以環(huán)境變量的形式存儲的)>
<context:property-placeholder location="classpath:person.properties"/>
<bean id="person" class="com.atneusoft.bean.Person" >
<--①通過基本數(shù)值直接賦值-->
<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文件內(nèi)容
person.age=\u5C0F\u674E\u56DB
通過注解的方式
使用properties的value對應的注解給屬性賦值
//使用@PropertySource讀取外部配置文件中的k/v保存到運行的環(huán)境變量中;加載完外部的配置文件以后使用${}取出配置文件的值
@PropertySource(value={"classpath:/person.properties"})
@Configuration
public class MainConfigOfPropertyValues {
@Bean
public Person person(){
return new Person();
}
}
public class Person {
//使用@Value賦值;
//1、基本數(shù)值
//2、可以寫SpEL; #{}
//3、可以寫${};取出配置文件【properties】中的值(在運行環(huán)境變量里面的值)
@Value("張三")
private String name;
@Value("#{20-2}")
private Integer age;
/* @Value("${person.age}") private Integer age;*/
}
注:
外部配置文件中的k/v保存到運行的環(huán)境變量中,可以直接在環(huán)境變量中取出對應的值
AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(MainConfigOfPropertyValues.class);
ConfigurableEnvironment environment = applicationContext.getEnvironment();
String property = environment.getProperty("person.age");
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
利用java監(jiān)聽器實現(xiàn)在線人數(shù)統(tǒng)計
過去使用ASP和ASP.NET兩種編程的時候,都寫過在線人數(shù)統(tǒng)計能,實現(xiàn)功能挺簡單的!今天使用java來實現(xiàn)在線人數(shù)統(tǒng)計有點另類,是通過Java監(jiān)聽器實現(xiàn)的,需要的朋友可以參考下2015-09-09
springboot如何獲取application.yml里值的方法
這篇文章主要介紹了springboot如何獲取application.yml里的值,文章圍繞主題相關(guān)自資料展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-04-04
Springboot?配置線程池創(chuàng)建線程及配置?@Async?異步操作線程池詳解
這篇文章主要介紹了Springboot?配置線程池創(chuàng)建線程及配置?@Async?異步操作線程池詳解,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-09-09
詳解如何在SpringBoot項目中使用統(tǒng)一返回結(jié)果
在一個完整的項目中,如果每一個控制器的方法都返回不同的結(jié)果,那么對項目的維護和擴展都會很麻煩。因此,本文為大家準備了SpringBoot項目中使用統(tǒng)一返回結(jié)果的方法,需要的可以參考一下2022-10-10

