Spring注解@value参数值的两种形式
芒果会上火吗⾸先,@value需要参数,这⾥参数可以是两种形式:@Value("#{configProperties['t1.msgname']}")或者@Value("${t1.msgname}");
其次,下⾯我们来看看如何使⽤这两形式,在配置上有什么区别:
函数的奇偶性教案1、@Value("#{configProperties['t1.msgname']}")这种形式的配置中有“configProperties”,其实它指定的是配置⽂件的加载对象:配置如下:李延年汉武帝
<bean id="configProperties" class="org.springframework.fig.PropertiesFactoryBean">
<property name="locations">
佐丹奴官方网站
<list>
<value>classpath:/config/t1.properties</value>
张姓男孩名字大全</list>
</property>水浒传读书感悟
番茄牛腩汤
小孩可以吃燕窝吗</bean>
这样配置就可完成对属性的具体注⼊了;
2、@Value("${t1.msgname}")这种形式不需要指定具体加载对象,这时候需要⼀个关键的对象来完成PreferencesPlaceholderConfigurer,这个对象的配置可以利⽤上⾯配置1中的配置,也可以⾃⼰直接⾃定配置⽂件路径。
如果使⽤配置1中的配置,可以写成如下情况:
<bean id="propertyConfigurer" class="org.springframework.fig.PreferencesPlaceholderConfigurer">
<property name="properties" ref="configProperties"/>
</bean>
如果直接指定配置⽂件的话,可以写成如下情况:
<bean id="propertyConfigurer" class="org.springframework.fig.PreferencesPlaceholderConfigurer">
<property name="location">
<value>config/t1.properties</value>
</property>
</bean>