Eclipse下搭建Spring MVC + Hibernate开发环境
这里主要讲在Eclipse下如何搭配Spring MVC + Hibernate框架进行Web开发,至于Eclipse以及JDK以及MyEclipse等的安装不在此列,也不使用MyEclipse来搭建,只是手工搭建的方式。
1.版本
JDK1.50;Eclipse3.2;MyEclipse 5.0;Tomcat 5.0;Spring2.0;Hibernate3.2。
2.准备
安装好Eclipse和JDK环境,由于不使用MyEclipse,需要自行准备两个主要的包:Spring.jar包、Hibernate3.jar,还有commons-dbcp.jar,commons-pool.jar,spring-orm.jar等这些包;这些表都可以在相应的项目网站中下载到,或者网上搜索。
安装好后Lib下包会有:
activation.jar
antlr-2.7.6.jar
asm.jar
cglib-2.1.3.jar
commons-beanutils.jar
commons-collections.jar
commons-collections-2.1.1.jar
commons-digester.jar
commons-fileupload.jar
commons-logging.jar
commons-logging-1.0.4.jar
commons-validator.jar
dom4j-1.6.1.jar
ehcache-1.2.jar
jakarta-oro.jar
jstl.jar
jta.jar
log4j-1.2.11.jar
mail.jar
ojdbc14.jar
standard.jar
以下几个是比较重要的:
commons-dbcp.jar
commons-pool.jar
hibernate3.jar
spring.jar
spring-orm.jar
如果要用到Struts,会有一个struts.jar包。
3.搭建:
首先在"File"菜单下"new" 一个"Project",选择"Other"下的MyEclipse下的"Web Project",把上面的包放到WebRoot/WEB-INF/lib下;
建立好工程后,我们在项目下的WebRoot/WEB-INF/下新建两个.xml文件,名字可以随便起(也可新建一个,内容和两个文件里面的内容一样即可),在这里命名为web-config.xml和model-config.xml,顾名思义,web-config.xml下配置和servlet以及控制逻辑等与WEB相关的bean,model-config.xml下配置与数据模型层相关的Bean,如数据访问的bean。
以下是model-config.xml内容:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<!-- 设定数据库连接池相关参数,这里使用的是Oracel的数据库 -->
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName">
<value>oracle.jdbc.driver.OracleDriver</value>
</property>
<property name="url">
<value>jdbc:oracle:thin:@192.168.6.4:1521:database</value>
</property>
<property name="username">
<value>username</value>
</property>
<property name="password">
<value>password</value>
</property>
</bean>
<!-- 定义Hibernate sessionFactory 和Hibernate映射文件,所有的Hibernate映射文件统一在这里定义 -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"
destroy-method="destroy">
<property name="dataSource" ref="dataSource"/>
<property name="mappingResources">
<list>
<!-- Hibernate映射文件 把Hibernate的配置文件在这里映射,这里定义了一个UUser类的持久化类映射文件 -->
<value>com/yondor/yuejiao/orm/UUser.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.Oracle9Dialect
</prop>
</props>
</property>
</bean>
<!-- Spring hibernateTemplate 模板定义 -->
<bean id="hibernateTemplate"
class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<!-- Hibernate数据模型Bean定义 -->
<bean id="dbDAO"
class="com.yondor.yuejiao.model.common.DbDAO">
<property name="hibernateTemplate" ref="hibernateTemplate"/>
</bean>
<!-- 以下是业务逻辑Bean的定义 -->
<!-- User模块开始 定义的bean可以在web-config.xml配置文件中使用-->
<bean id="userDAO"
class="com.yondor.yuejiao.model.example.UserDAO">
<property name="dbDAO" ref="dbDAO"/>
</bean>
<!-- User模块结束 -->
</beans>
以下是web-config.xml的内容:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<!-- Controller方法调用规则定义 -->
<bean id="paraMethodResolver"
class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">
<property name="paramName" value="action"/>
<property name="defaultMethodName" value="list"/>
</bean>
<!-- 页面View层基本信息设定 -->
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/yuejiao/"/>
<property name="suffix" value=".jsp"/>
</bean>
<!-- servlet映射列表,所有控制层Controller的servlet在这里定义 -->
<bean id="urlMapping"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="example.do">userController</prop>
</props>
</property>
</bean>
<!-- 以下控制层Controller Bean定义开始 -->
<!-- User模块开始 -->
<!-- 一共注入了7个属性(Bean),其中userDAO为业务逻辑Bean,该Bean定义在model-config.xml相应的模块中 -->
<bean id="userController"
class="com.yondor.yuejiao.controller.example.UserController">
<property name="methodNameResolver" ref="paraMethodResolver"/>
<!-- 使用了在model-config.xml文件里定义userDAO-->
<property name="userDAO" ref="userDAO"/>
<!-- 以下的属性与处理后的跳转有有关 -->
<property name="login_success" value="example/login_success"/>
<property name="login_failure" value="example/login"/>
<property name="register_success" value="example/register_success"/>
<property name="register_failure" value="example/register"/>
<property name="userInfoList" value="example/list"/>
</bean>
<!-- User模块结束 -->
</beans>
最后,还需要配置一下web.xml文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<servlet>
<servlet-name>dispatcherServlet</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/model-config.xml,/WEB-INF/web-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>
到此,基本上已完成开发环境的搭建,最后,
右键单击项目名称——properties——java bulid path ——libraries,Add Jars把刚才加入的包引入到工程里面去即可。