Spring注解驅(qū)動(dòng)開發(fā)實(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)境變量的形式存儲的)>
<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表達(dá)式-->
<--<property name="age" value="10*2"></property>-->
</bean>
classpath下的properties文件內(nèi)容
person.age=\u5C0F\u674E\u56DB
通過注解的方式
使用properties的value對應(yīng)的注解給屬性賦值
//使用@PropertySource讀取外部配置文件中的k/v保存到運(yùn)行的環(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】中的值(在運(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)境變量中取出對應(yīng)的值
AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(MainConfigOfPropertyValues.class);
ConfigurableEnvironment environment = applicationContext.getEnvironment();
String property = environment.getProperty("person.age");
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
如何利用Java正則表達(dá)式校驗(yàn)密碼規(guī)則
正則表達(dá)式正則表達(dá)式是用來指定字符串模式的,可以方便的處理文本信息,這篇文章主要給大家介紹了關(guān)于如何利用Java正則表達(dá)式校驗(yàn)密碼規(guī)則的相關(guān)資料,需要的朋友可以參考下2022-09-09
IDEA下Servlet可能出現(xiàn)404的一些情況
相信有很多小伙伴遇到報(bào)錯(cuò)都不知道怎么處理,今天特地整理了這篇文章,文中對IDEA下Servlet可能出現(xiàn)404的一些情況作了詳細(xì)的介紹,需要的朋友可以參考下2021-06-06
三分鐘讀懂mybatis中resultMap和resultType區(qū)別
這篇文章主要給大家介紹了mybatis中resultMap和resultType區(qū)別的相關(guān)資料,resultType和resultMap都是mybatis進(jìn)行數(shù)據(jù)庫連接操作處理返回結(jié)果的,需要的朋友可以參考下2023-07-07
JAVA中 Spring定時(shí)器的兩種實(shí)現(xiàn)方式
本文向您介紹Spring定時(shí)器的兩種實(shí)現(xiàn)方式,包括Java Timer定時(shí)和Quartz定時(shí)器,兩種Spring定時(shí)器的實(shí)現(xiàn)方式各有優(yōu)點(diǎn),可結(jié)合具體項(xiàng)目考慮是否采用。2015-09-09

