系統:windows系統
在命令列執行:
設定系統環境變數:set env=production
取系統環境變數:echo %env% 回車
production
在spring的xml配置檔案中如何獲取系統環境變數:
這個問題困擾了我兩天,今天下午終於想到了較為合理的辦法:
第一步:寫乙個***
public classenvorimentconfiglistenerimplementsservletcontextlistenerelse if("release".equals(envstr))else if("development".equals(envstr))
} @override
public voidcontextdestroyed(servletcontextevent servletcontextevent) }
第二步:在web.xml中配置***
<listener>
<
listener-class>com.ywsoftware.oa.envorimentconfiglistener
listener-class>
listener>
第三步:取值
<
context:property-placeholderlocation="classpath:common/*.properties, classpath:#/*.properties"/>
<
beanid="datasource"class="com.alibaba.druid.pool.druiddatasource"destroy-method="close">
<
propertyname="url"value="$"/>
<
propertyname="username"value="$"/>
<
propertyname="password"value="$"/>
<
propertyname="driverclassname"value="$"/>
<
propertyname="filters"value="$"/>
<
propertyname="maxactive"value="$"/>
<
propertyname="initialsize"value="$"/>
<
propertyname="maxwait"value="$"/>
<
propertyname="minidle"value="$"/>
<
propertyname="timebetweenevictionrunsmillis"value="$"/>
<
propertyname="minevictableidletimemillis"value="$"/>
<
propertyname="validationquery"value="$"/>
<
propertyname="testwhileidle"value="$"/>
<
propertyname="testonborrow"value="$"/>
<
propertyname="testonreturn"value="$"/>
<
propertyname="maxopenpreparedstatements"value="$"/>
<
propertyname="removeabandoned"value="$"/>
<
propertyname="removeabandonedtimeout"value="$"/>
<
propertyname="logabandoned"value="$"/>
bean>
解釋一下我的**:
首先注意:這個***要放在載入spring配置檔案的listener或servlet的前面
這個***的作用是在程式啟動的時候,一載入servletcontext時,就去判斷當前系統的環境變數中env的值是什麼
(不同環境裡需要手動配置不同的env的值,目的是在不同環境中執行專案的時候,需要載入不同的配置檔案,
此處就是指不同的資料庫及其配置),然後會根據這個值向jvm系統變數中存值。然後可以在專案中通過#取到env對應的值。然後就會去找對應的資料夾下面的配置檔案。
出現的問題:
username和password一直取不到,報拒絕訪問資料庫異常。
原因:username和password可能被占用(可是沒有找到)
這裡提供兩種解決方法:
①把username和password放在url後面:url=jdbc:mysql:
②把username和password換成username1和password1(這個隨意換,自己別忘就行)
然後問題基本解決。
歡迎討論!!!~~~
spring配置檔案
1 配置檔案的簡化 1 屬性的 property name foo value foovalue value property 簡化為 property name foo value foovalue 2 引用bean property name foo ref bean foobean prope...
spring配置檔案
context annotation config 是用於啟用那些已經在spring容器裡註冊過的bean上面的註解,也就是顯示的向spring註冊 autowiredannotationbeanpostprocessor commonannotationbeanpostprocessor pers...
Spring配置檔案的
關於spring配置一直是乙個讓人頭痛的問題,因此,在這裡對spring的配置進行了乙個詳細的整理,以便於能夠幫助讀者配置spring web.xml配置 context dao.xml檔案配置 context jdbc.xml檔案配置 context service.xml檔案配置 jdbc.pr...