基于注解的Spring MVC+Hiberntae簡單入門
文/阿蜜果
日期/2012-11-28
1、概述
本文旨在搭建Spring MVC+Hibernate開發框架,通過一個簡單的demo講解Spring MVC的相關配置文件,以及通過注解方式實現簡單功能。
開發框架:Spring + Spring MVC+Hibernate(Spring所用的版本為3.0.5)。
數據庫:MySQL(數據庫名稱test,demo工程所用的表名為user_info)。
2、開發框架搭建
2.1 創建工程
在Eclipse的Java EE版本或MyEclipse中創建一個Dynamic Web Project。并創建如下包:
(1)com.dao:系統的DAO;
(2)com.model:表的實體類(使用Hibernate),在該工程中不配置.hbm.xml映射文件,采取注解的方式;
(3)com.service:業務邏輯接口類和實現類;
(4)com.web:Spring MVC的Controllor類;
(5)com.config:Spring和Spring MVC的配置文件。
創建成功后包結構如下所示:
springmvctest
src
----com
----amigo
----dao
----model
----service
----web
----config
WebContent
----META-INF
----WEB-INF
----lib
----classes
2.2 引入相關包
需要將Spring、Spring MVC、Hibernate、MySQL驅動、log4j、c3p0數據源等的相關包引入。lib目錄下的jar包如下:
antlr-2.7.6.jar
aopalliance.jar
asm-attrs.jar
asm.jar
c3p0-0.9.0.jar
cglib-2.1.3.jar
commons-beanutils-1.8.0.jar
commons-beanutils-bean-collections-1.8.0.jar
commons-betwixt-0.8.jar
commons-collections-2.1.1.jar
commons-digester-2.1.jar
commons-discovery-0.2.jar
commons-httpclient.jar
commons-logging.jar
dom4j-1.6.1.jar
ehcache-1.2.3.jar
ejb3-persistence.jar
hibernate-annotations.jar
hibernate-commons-annotations.jar
hibernate-entitymanager.jar
hibernate-validator.jar
hibernate3.jar
jaas.jar
javassist.jar
jaxen-1.1-beta-7.jar
jaxrpc.jar
jboss-archive-browsing.jar
jdbc2_0-stdext.jar
jta.jar
log4j-1.2.11.jar
mysql-connector-java-5.0.4-bin.jar
org.springframework.aop-3.0.5.RELEASE.jar
org.springframework.asm-3.0.5.RELEASE.jar
org.springframework.aspects-3.0.5.RELEASE.jar
org.springframework.beans-3.0.5.RELEASE.jar
org.springframework.context-3.0.5.RELEASE.jar
org.springframework.context.support-3.0.5.RELEASE.jar
org.springframework.core-3.0.5.RELEASE.jar
org.springframework.expression-3.0.5.RELEASE.jar
org.springframework.instrument-3.0.5.RELEASE.jar
org.springframework.instrument.tomcat-3.0.5.RELEASE.jar
org.springframework.jdbc-3.0.5.RELEASE.jar
org.springframework.jms-3.0.5.RELEASE.jar
org.springframework.orm-3.0.5.RELEASE.jar
org.springframework.oxm-3.0.5.RELEASE.jar
org.springframework.test-3.0.5.RELEASE.jar
org.springframework.transaction-3.0.5.RELEASE.jar
org.springframework.web-3.0.5.RELEASE.jar
org.springframework.web.servlet-3.0.5.RELEASE.jar
saaj.jar
wsdl4j.jar
xerces-2.6.2.jar
xml-apis.jar
2.3 配置文件
2.3.1 配置web.xml
在web.xml中需要配置Spring的配置文件(applicationContext.xml)和Spring MVC配置文件(spring-mvc.xml),配置指定所有.do的請求都由Spring的DispatcherServlet類進行處理。
web.xml文件的參考配置如下:















































2.3.2 配置spring的配置文件
Spring的配置文件applicationContext.xml文件中主要配置對Hibernate的事務的管理,該配置文件的參考配置如下:































































































2.3.3 配置Spring MVC配置文件
Spring MVC的配置文件spring-mvc.xml中主要是Controller的配置信息,該文件的參考配置如下:






























2.4 創建數據庫和表
創建test數據庫和user_info表的SQL語句如下(為了簡便,user_info只有一個USER_NAME字段):






3、實例代碼
3.1 DAO層
BaseHibernateDao類的代碼如下所示:








































































USER_INFO表的Dao類UserInfoDao類的代碼如下所示:






3.2 業務邏輯層
接口類IHelloService的代碼如下:




實現類HelloService類的代碼如下:



































3.3 控制層
控制類HelloControllor類接收userName參數,并調用相應的Service類將用戶名保存到USER_INFO表中,該類的代碼如下:










































@Controller注解標識一個控制器,@RequestMapping注解標記一個訪問的路徑;如果@RequestMapping注解在類級別上,則表示一相對路徑,在方法級別上,則標記訪問路徑;
4、測試
測試時可以通過訪問http://localhost:8080/springmvctest/test/hello.do?userName=amigo777,通過userName參數將用戶名添加到USER_INFO表中。
從實例代碼可以看出,POJO、DAO層、Service層和Controller層都是采用注解的方式將service、dao注入的,減少了配置量,方便了開發工作。
5、參考文檔
(1)《基于注解的Spring MVC簡單入門》:http://www.oschina.net/question/84460_9608、