整合SSH框架 (Struts2.x+Spring3.x+hibernate3.x+oracle)
来源:互联网 发布:中国菜刀源码 编辑:程序博客网 时间:2024/04/25 23:29
整合SSH框架 (Struts2.x+Spring3.x+hibernate3.x+oracle)
1.整合ssh框架思路
1.1 首先需要导入ssh的jar包,包括Struts2,Spring,Hibernate所需jar包和关联包,最后就是oracle的jar包
1.2 然后配置web.xml文件,配置spring的监听器信息,struts2过滤器信息和hibernate的延迟加载问题
1.3 配置Spring的配置文件,首先就是数据源的配置,然后sessionFactory配置,hibernate配置,如果spring使用的是注解,则需要设置spring bean组件扫面,最后配置 实体向SessionFactory的注册映射关系包的路径
1.4 创建pojo,使用spring测试框架的jar里的注解,进行单元测试
2.具体步骤
2.1需要导入的jar包
struts2 :
struts2-core-2.3.16.jar
xwork-core-2.3.16.jar
ognl-3.0.6.jar
Struts2与Spring整合插件包
struts2-spring-plugin-2.3.16.jar
Struts2注解包
struts2-convention-plugin-2.3.16.jar
spring:
spring-aop-3.2.4.RELEASE.jar
spring-aspects-3.2.4.RELEASE.jar
spring-beans-3.2.4.RELEASE.jar
spring-context-3.2.4.RELEASE.jar
spring-core-3.2.4.RELEASE.jar
spring-expression-3.2.4.RELEASE.jar
spring-jdbc-3.2.4.RELEASE.jar
spring-orm-3.2.4.RELEASE.jar
开始启用Spring的测试框架
spring-test-3.2.4.RELEASE.jar
spring-tx-3.2.4.RELEASE.jar
spring-web-3.2.4.RELEASE.jar
其它对于aspect支持包 (AOP)
hibernate:
hibernate3.jar
hibernate-jpa-2.1-api-1.0.0.Final.jar
其它jar包
ojdbc14.jar (oracle的jar)
数据连接池(配置数据源)jar包 :
commons-collections.jar
commons-dbcp.jar
commons-pool-1.6.jar
2.2配置web.xml文件
<?xml version="1.0" encoding= "UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" > <!-- 处理Hibernate延迟加载问题 --> <filter> <filter-name> OpenSessionInView</filter-name > <filter-class> org.springframework.orm.hibernate3.support.OpenSessionInViewFilter </filter-class> </filter> <filter-mapping> <filter-name> OpenSessionInView</filter-name > <url-pattern> /*</ url-pattern> </filter-mapping > <!-- struts2配置过滤器信息 --> <filter > <filter-name> struts2</filter-name > <filter-class> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter </filter-class> </filter > <filter-mapping > <filter-name> struts2</filter-name > <url-pattern> /*</ url-pattern> </filter-mapping > <!-- spring的配置监听器信息 --> <context-param > <param-name> contextConfigLocation</param-name > <param-value> classpath:beans.xml</param-value > </context-param> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener> <welcome-file-list > <welcome-file >index.jsp</ welcome-file> </welcome-file-list ></web-app>
2.3配置spring配置文件(bean.xml)本次使用的是dbcp配置数据源,数据库为oracle,数据库地址为本地地址
<?xml version="1.0" encoding= "UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd"> <!-- 开启spring bean组件扫面 --> <context:component-scan base-package= "test"/> <!-- 配置数据源 --> <bean id="dateSource" class="org.apache.commons.dbcp.BasicDataSource" > <!-- 数据库连接配置信息 --> <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" /> <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl" /> <property name="username" value="test"/> <property name="password" value="123456"/> <!-- 数据源相关配置信息 --> <property name="initialSize" value="10"/> <property name="maxActive" value="8"/> <property name="maxIdle" value="6"/> </bean > <!-- 使用 hbm映射文件进行配置 org.springframework.orm.hibernate3.LocalSessionFactoryBean 使用注解进行映射配置 org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean --> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean" > <!-- 把配置好的数据源注入到SessionFactory --> <property name="dataSource" ref="dateSource"/> <!-- 配置hibernate相关配置信息 --> <property name="hibernateProperties" > <props> <prop key="hibernate.show_sql" >true</ prop> <prop key="hibernate.formate_sql" >true</ prop> <prop key="hibernate.hbm2ddl.auto" >update</ prop> <prop key="hibernate.dialect" >org.hibernate.dialect.Oracle10gDialect</prop > <!-- 指定使用哪种方式来管理当前线程创建session --> <prop key="hibernate.current_session_context_class" >thread</ prop> </props> </property> <!-- 向SessionFactory注册映射关系 --> <property name="packagesToScan" > <list> <value> test</value > </list> </property> </bean ></beans>
2.4创建测试实体类和测试类,测试sessionFactory是否创建成功
//测试实体类
package test;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;import javax.persistence.SequenceGenerator;import javax.persistence.Table;@Entity@Table(name = "TEST")public class TestPo { private int id; private String name; @Id @Column(name = "ID", unique = true, nullable = false, precision = 10, scale = 0) @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="SEQ") @SequenceGenerator(name="SEQ",allocationSize=1,initialValue=1, sequenceName="SEQ") public int getId() { return id; } public void setId(int id) { this.id = id; } @Column(name="NAME") public String getName() { return name; } public void setName(String name) { this.name = name; }}
package test1;import static org.junit.Assert .*;import javax.annotation.Resource;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.test.context.ContextConfiguration;import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;import test.TestPo;//测试类@RunWith(SpringJUnit4ClassRunner.class) //使用spring测试框架,不需要启动web项目,加上注解就可以直接进行测试@ContextConfiguration ("/beans.xml" )public class testC{ @Resource(name="sessionFactory" ) private SessionFactory sessionFactory ; @Test public void createSessionFactory() { Session session = sessionFactory.getCurrentSession(); Transaction tx = session.beginTransaction(); TestPo user = new TestPo(); user.setId(1); user.setName( "name1"); session.save(user); tx.commit(); }}
创建sessionFactory就可以了,接下来会继续更新整合。。。
- 整合SSH框架 (Struts2.x+Spring3.x+hibernate3.x+oracle)
- Struts2.x、Spring3.x、Hibernate3.x整合开发
- 【Struts2+Spring3+Hibernate3】SSH框架整合
- Spring3.x整合Struts2.3.x
- Struts2.x+Spring3.x+Hibernate4.x 整合(二)Struts+Spring 整合
- Struts2.x+Spring3.x+Hibernate4.x 整合(六)整合log4j日志组件
- Struts2.x+Spring3.x+Hibernate4.x 整合(七)整合struts RESTful
- Hibernate3.x,hibernate3.x,Hibernate3.x整合Spring3.x不能实现自动创建表结构的解决办法:
- Struts2.x+Spring3.x+Hibernate4.x 整合(一)Struts环境搭建
- Struts2.x+Spring3.x+Hibernate4.x 整合(五)Struts 升级到 2.3.15.3
- 【Struts2+Spring3+Hibernate3】SSH框架整合实现CRUD_1.0
- 【Struts2+Spring3+Hibernate3】SSH框架整合实现CRUD
- 【Struts2+Spring3+Hibernate3】SSH框架整合实现CRUD_1.1
- Struts2+Spring3+Hibernate3 SSH框架整合实现CRUD
- 【Struts2+Spring3+Hibernate3】SSH框架整合实现CRUD_1.2
- 【Struts2+Spring3+Hibernate3】SSH框架整合实现CRUD_1.3
- 【Struts2+Spring3+Hibernate3】SSH框架整合实现CRUD
- SSH整合(struts2.2.1 + spring3.0 + hibernate3.3)
- Android多点触摸交互处理
- Codeforces Round #364 (Div. 1) A - As Fast As Possible
- jvm垃圾回收相关优化笔记
- h5基础知识一
- Spring MVC框架简单使用
- 整合SSH框架 (Struts2.x+Spring3.x+hibernate3.x+oracle)
- 函数调用-----压栈的工作原理
- java克隆容器后,容器内的对象相同
- 最大似然估计
- git ignore 相关
- spring mvc 中web.xml配置信息解释
- 上课记录
- 深入理解Spring4框架(六)——自定义Bean属性
- CSVS格式文件的添加