ssmweb專案的Demo 攔截器 頁面 jsp頁面實現 未完待續 以及配置資訊的載入順序和載入
業務控制層(service):
一個service介面,還有其相應的實現類serviceImpl,這樣做可以使業務控制層的開發和顯示層的開發並行進行,因為只要給顯示層一個service的介面即可。service層的實現類中用Spring的IOC(Autowired註解)自動注入了一個或多個mapper物件,即該物件是呼叫sqlSessionFactory的getSession的getBean方法獲得的。然後再呼叫mapper物件的相應方法,需要的時候還應該加入適當的控制流程(比如BeanUtils.copyProperties()方法進行屬性的拷貝或業務的校驗)。
持久層(dao/mapper):
用逆向工程生成了相應的mapper.java即相應的mapper.xml,還有和資料庫表對應的pojo,這些可以實現比較簡單的單表查詢。
如果有多表關聯的查詢,則需要自定義mapper,因為返回結果包括多個pojo中的屬性,不建議直接在pojo中新增相應屬性,而應該寫一個繼承某個pojo類的子類,然後在該子類中新增所需的其他pojo中的屬性,這樣返回型別即為該子類。其中查詢的引數為QueryVo類,其中組合了該上述子類和其他子類的物件,需要什麼引數就往裡寫什麼物件。
但是這個時候配置資訊做了那些事情呢?
首先載入配置檔案是
1,web.xml
//根據指定的路徑區讀取spring配置檔案。注意:此時伺服器會去載入spring配置檔案,暫停本段配置之後的程式碼執行;
例如在我公司的配置檔案中 讀取了以下的配置檔案
<context-param>
<param-name>log4jConfiguration</param-name>
<param-value>classpath:log4j2.xml</param-value>
</context-param>
<listener>
<listener-class>org.apache.logging.log4j.web.Log4jServletContextListener</listener-class>
</listener>
<context-param>
<param-name>
contextConfigLocation
</param-name>
<param-value>
classpath:application-context.xml,
classpath:application-database.xml,
classpath:application-redis.xml
</param-value>
</context-param>
2.載入spring配置檔案。applicationContext.xml中的主要配置如下:
//自動掃描base-package對應的路徑下面的java檔案,如果掃描到檔案中帶有@Service,@Component,@Repository,@Controller等這些註解的類,則把這些類註冊為bean
<context:component-scan base-package="com.yc.*">
<context:include-filter type="annotation"
expression="org.springframework.stereotype.Service" />
<context:include-filter type="annotation"
expression="org.springframework.stereotype.Component" />
<context:exclude-filter type="annotation"
expression="org.springframework.stereotype.Controller" />
</context:component-scan>
web.xml配置的所有東西都會一一載入 不出意外就會載入完成,整個專案就這樣起來了
到這裡廢話就不多說了 開始整理ssm專案
.
