一、媒介
我们有了Spring+JdbcTemplate和Spring+iBatis并团结maven的基本,搭建一个SSX这样的框架此刻就和玩一样的简朴了,本日我们将搭建一个利用Struts1.3,Srping3, Hibernate3的SSp的开拓框架,各人随着我一步步走,会觉察在措施跑通后本身再动手搭建一遍这个框架,只需要30分钟。
二、SSH框架
劳务调派打点系统 org.sky.ssh.dao;public interface LoginDAO { public long validLogin(String loginId" src="/uploads/allimg/c180316/15211443b12A0-134U.jpg" />仔细看这个框架,稍微有点纷歧样了。
1) Spring3是通过一个hibernate template来和hibernate的dao层团结起来而且打点起hibernate的相关事务的。因此我们本身写了一个BaseHibernateDaoSupport来用spring统一打点hibernate的事务。
2) Hibernate和Spring的团结很是利便,我们只需要写一个hibernate.xml就可以了,datasource.xml中把原先的iBatis的相关设置全部去掉它,什么都不需要加事务照旧维持原有的设置稳定即可,对付我们来说需要窜改的是dao层,尚有把service层稍微做些小调解(一两句话的调解,很是简朴),大概是我看到过的最简朴的一种SSX的团结方法,远比iBatis和spring的团结要easy多了。
3) Hibernate3开始可以利用jpa可能照旧传统的hbm.xml文件这样的描写方法,在此我们僵持利用JPA的Annotation方法来声明我们的model而不是利用*.hbm.xml这样的方法。
留意:所有的包(package name)都要从本来的org.sky.ssi酿成org.sky.ssh喽?
三、搭建SSH框架
3.1成立工程
我们照旧利用maven来成立我们的工程,我们工程的名字叫myssh。
劳务调派打点系统 org.sky.ssh.dao;public interface LoginDAO { public long validLogin(String loginId" src="/uploads/allimg/c180316/15211443b30930-234J.jpg" />建完后照着翻外篇《第十九天》中的“四、如何让Maven构建的工程在eclipse里跑起来”对工程举办配置。
劳务调派打点系统 org.sky.ssh.dao;public interface LoginDAO { public long validLogin(String loginId" src="/uploads/allimg/c180316/15211443b35N0-3I11.jpg" /> 劳务调派打点系统 org.sky.ssh.dao;public interface LoginDAO { public long validLogin(String loginId" src="/uploads/allimg/c180316/15211443bF20-4XU.jpg" />
3.2 maven库配置
嘿嘿嘿嘿,不需要任何配置,直接把beta工程中的pom.xml文件拷贝入myssh工程中就可以用了,内里相关的spring,struts, hibernate的包我都已经事先共同了。
假如你是个图完美的的,你可以把pom.xml文件中的iBatis相关的jar给去除。
3.3 开始设置Hibernate与spring团结
打开/src/main/resources/spring/datasource下的datasource.xml,把所有的关于iBatis的配置全部去除,把org.sky.ssi这样的包名全部改成org.sky.ssh。
我们在myssh工程中需要增加一个东西类,一个xml和几个用到的hibernate的model的映射,下面来看。
src/main/resources/spring/hibernate/hibernate.xml文件
我们在src/main/resources/spring目次下增加一个目次叫hibernate,在这个hibernate目次下我们建设一个hibernate.xml文件。
劳务调派打点系统 org.sky.ssh.dao;public interface LoginDAO { public long validLogin(String loginId" src="/uploads/allimg/c180316/15211443b96050-540V.jpg" />其内容如下:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:p="http://www.springframework.org/schema/p" 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-3.0.xsd http://www.springframework.org/schema/beans http://www.springframework.org/dtd/spring-beans.dtd"> <bean id="hibernateSessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <property name="packagesToScan" value="org.sky.ssh.dao.impl.*.*" /> <property name="dataSource"> <ref bean="dataSource" /> </property> <property name="annotatedClasses"> <list> <value>org.sky.ssh.model.TLogin</value> <value>org.sky.ssh.model.TStudent</value> </list> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</prop> <prop key="hibernate.show_sql">true</prop> <prop key="hibernate.generate_statistics">true</prop> <prop key="hibernate.connection.release_mode">auto</prop> <prop key="hibernate.autoReconnect">true</prop> <prop key="hibernate.hbm2ddl.auto">update</prop> <prop key="hibernate.connection.autocommit">true</prop> </props> </property> </bean> </beans>
<property name=”packagesToScan”value=”org.sky.ssh.dao.impl.*.*” />