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;
}

 

 

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