Spring @Value注解的使用,如何给静态变量赋值

1.Spring@Value注解的使用

说明:一般我们在Spring工程中想读取配置文件中的配置时,避免不了使用@Value注解读取配置文件(一般为.properties类型的配置文件)

 

那么我们的步骤为以下:

1.在工程添加配置文件:

application.properties

 

内容如下(仅供参考)

#设置统一消息平台的服务器地址
mq.url=10.120.20.182:9876
#设置客户端账号
mq.username=admin

#设置客户端密钥
mq.password=admin
#设置 Topic Name
mq.topic.name=BH_DEVCIE_STATE,BH_DEVCIE_STATE1,BH_DEVCIE_STATE2
#设置订阅消息的标签,可以指定消费某一类型的消息,默认*表示消费所有类型的消息
mq.tags=*
#设置是否需要加密传输:true/false
#设置应用接口请求响应是否加密
encrypt=true




 

2.在Spring主配置文件中添加如下配置

<bean id="configProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
		<property name="locations">
			<list>
				<value>classpath*:application.properties</value>
			</list>
		</property>
	</bean>
	<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer">
		<property name="properties" ref="configProperties" />
	</bean>

3.在java类中的写法

比如我们想注入mq.url的配置值,

写法1:

@Value("#{configProperties['mq.url']}")
private String url;

写法2:

@Value("#{'mq.url'}")
private String url;

 

 

4.如果我们想要把配置文件中的配置值赋给java类中的静态变量,写法如下

public static Boolean encrypt;

@Value("#{configProperties['encrypt']}")
public void setEncrypt(Boolean encrtpt) {
     ConfirmRequest.encrypt = encrtpt;
}

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章