Spring MVC總結(jié):善用注解,生活更輕松
MVC已經(jīng)是現(xiàn)代Web開發(fā)中的一個(gè)很重要的部分,下面介紹一下Spring MVC的一些使用心得。
之前的項(xiàng)目比較簡(jiǎn)單,多是用 JSP 、 Servlet + JDBC 直接搞定,去年開始在項(xiàng)目中嘗試用 Struts(Spring MVC)+Spring+Hibernate, 嚴(yán)格按照分層概念驅(qū)動(dòng)項(xiàng)目開發(fā),因項(xiàng)目需求一直不斷變化,功能不斷擴(kuò)充、增強(qiáng),技術(shù)構(gòu)建也幾經(jīng)改變到目前有個(gè)穩(wěn)定的應(yīng)用,體會(huì)了很多感受,這次先對(duì) Spring MVC 層進(jìn)行一些個(gè)人總結(jié)。
MVC 作為 WEB 項(xiàng)目開發(fā)的核心環(huán)節(jié),正如三個(gè)單詞的分解那樣, C( 控制器 ) 將 V( 視圖、用戶客戶端 ) 與 M (模塊,業(yè)務(wù))分開構(gòu)成了 MVC ,這邊不去是否應(yīng)用 MVC ,或 MVC 的更多原理進(jìn)行討論,而是將實(shí)踐中如何從應(yīng)用 SSH, 到 Spring MVC + Spring+Hibernate 進(jìn)行演化
先看 Struts 如何與 Spring 結(jié)合處理一次簡(jiǎn)單的請(qǐng)求響應(yīng)代碼,前臺(tái)可以設(shè)為用 AJAX 調(diào)用:
1. 在 struts-config.xml 文件中加入
- <!--用于聲明GetPersonList.do請(qǐng)求委托Spring處理-->
- <action path="/GetPersonList" scope="request"
- type="org.springframework.web.struts.DelegatingActionProxy">
- </action>
2.在 applicationContext.xml 文件中加入
- <!-- 指定GetPersonList.do處理的代碼,和注入實(shí)現(xiàn)業(yè)務(wù)的代碼 -->
- <bean name="/GetPersonList" class="cn.base.GetPersonListAction">
- <property name="getPersonList" ref=" getPersonListServices"></property>
- </bean>
3.cn.base.GetPersonListAction 實(shí)現(xiàn)請(qǐng)求響應(yīng)代碼
可以看出一次請(qǐng)求需求如此多的步驟,在加上一個(gè)項(xiàng)目下來(lái)有很多這樣的請(qǐng)求響應(yīng),將給配置文件管理帶來(lái)很大的麻煩。
經(jīng)過對(duì) Spring 的深入應(yīng)用, Spring 本身提供的 URL 請(qǐng)求控制,對(duì)其天然支持可以讓我們不需要 applicationContext.xml 再次聲明一次 URL 請(qǐng)求 Bean ,即減少了 Struts 的聲明 URL ,達(dá)到減少些繁瑣的配置。但只是少了一些而已,同樣也會(huì)面臨著配置文件的管理問題。
Spring 注解將給我們的工作帶來(lái)些輕松,利用反射機(jī)制原理出現(xiàn)的注解就是為了解決配置大量的配置問題。請(qǐng)看下處理一次簡(jiǎn)單的請(qǐng)求響應(yīng)代碼
- @Controller --聲明控制器
- @RequestMapping("/person.do") –聲明URL
- public class PersonControl extends BaseController {
- @Autowired –業(yè)務(wù)接口注入
- private personServices personServices;
- /**
- * 獲得人員列表
- * @param request
- * @param response
- * @throws Exception
- */
- @RequestMapping(params = "method=geList") --即處理/person.do? method=geList方法
- public void getnodeList(HttpServletRequest request,
- HttpServletResponse response) throws Exception { //處理請(qǐng)求
- //處理響應(yīng)
- }
- }
可以看出,在代碼上加入注解可以省去我們上面說的多個(gè)配置文件的工作,達(dá)到簡(jiǎn)便的 MVC 處理請(qǐng)求響應(yīng)。
在配上簡(jiǎn)單的配置文件聲明,即可輕松處理項(xiàng)目的全部請(qǐng)求控制工作。
對(duì)Spring MVC的個(gè)人總結(jié)就到這里。
【編輯推薦】