src/main/resources 這個source folder 放置web項目所需的主要配置,打包時,會自動打包到WEB-INF下
首先看下pom.xml,需要引入一些依賴項:
pom.xml
1. 自動加載配置檔案
在web項目中,可以讓spring自動加載配置檔案(即上圖中的src/main/resouces/spring下的xml檔案),WEB-INF/web.xml中參考以下設定:
web.xml
解釋一下: classpath*:spring/applicationContext-*.xml 這裡表示将加載classpath路徑下 spring目錄下的所有以applicationContext-開頭的xml檔案 , 通常為了保持配置檔案的清爽 , 我們會把配置分成多份 : 比如 applicationContext-db.xml 用來配置DataSource , applicationContext-cache.xml用來配置緩存...等等.
2.代碼中如何取得ApplicationContext執行個體
ApplicationContextUtils
有了這個工具類 , 就可以友善的取得注入的Bean
3. 使用properties檔案注入
為了示範注入效果,先定義一個基本的Entity類
ProductEntity
然後在applicationContext-beans.xml中配置以下内容:
spring配置檔案
注:classpath:properties/*.properties表示運作時 , spring容器會自動加載classpath\properties目錄下的所有以.properties字尾結尾的檔案 , 我們在src/main/resources/properties/下放置一個product.properties屬性檔案 , 内容如下:
product.properties
該檔案被spring自動加載後 , 就可以用裡面定義的屬性值 , 為Bean做setter屬性注入 , 即配置檔案中的<property name="productId" value="${product.id}" />
4.驗證注入是否成功
在HomeController裡 , 向Spring容器要一個Bean , 顯示下它的屬性:
HomeController
index.xhtml裡仍然跟上篇相同:
index.xhtml
最後部署到jboss上 , 運作截圖如下: