- 浏览: 25876 次
- 性别:
- 来自: 北京
文章分类
准备好所需要的JAR包后,开始进行SSH框架的整合
1. 新建WEB工程
2. 首先集成spring和hibernate
引入spring和hibernate所必需的jar文件(将JAR文件粘贴到WEB-INF的lib目录下)
也可以以用户库的方式引入(window-preference-java-build path-user Libraries - new,右键工程-bulid path-configure build path-libraries-add library-user library)
3. 引入oracle数据库的驱动类
ojdbc14.jar 粘贴到WEB-INF的lib目录下
4. 新建spring的配置文件
新建beans.xml放在src目录下
spring的配置文件主要包含以下几个部分:
a. 可以采用自动扫描的方式管理需要管理的类,注入可以通过注解的方式注入
<context:component-scan base-package="cn.itcast"/>
也可以采用传统的<bean>标签的方式管理类,注入既可以采用注解的方式,也可以采用传统的ref方式注入
<bean id="employeeDao"
class="com.sy.crm.dao.hibernate.EmployeeDaoHibernate"> <property name="sessionFactory"> <ref bean="sessionFactory" /> </property> </bean> <bean id="employeeManager" class="com.sy.crm.service.impl.EmployeeManagerImpl"> <property name="employeeDao"> <ref bean="employeeDao" /> </property> </bean> b.sessionFactory交个spring进行管理 交给spring管理sessionFactory后,可以在DAO层直接注入sessionFactory对象,达到解耦并且减少了手动创建sessionFactory的步骤,而且spring注入的sessionFactory对象默认是单例的,省去了我们为它编写单例的代码 annotation映射和xml映射引入的类不同,分别为 <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> 和 <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> 完整的sessionFactory配置: <!--Spring管理hibernate的sessionFactory 接管hibernate的事务管理服务--> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <!--注入数据源配置--> <property name="dataSource" ref="dataSource"/> <!--指定hibernate的映射文件 <property name="mappingResources"> <list> <value>cn/itcast/bean/buyer.hbm.xml</value> </list> </property>--> <!--指定hibernate的属性值--> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.OracleDialect</prop> <prop key="hibernate.hbm2ddl.auto">update</prop> <prop key="hibernate.show_sql">true</prop> <prop key="hibernate.format_sql">true</prop> </props> <!-- <value> hibernate.dialect=org.hibernate.dialect.OracleDialect hibernate.hbm2ddl.auto=update hibernate.show_sql=true hibernate.format_sql=true </value>--> </property> <property name="packagesToScan" value="com.gyjx19e.om.*"/> //此句必须写到上层目录 例如我的bean都在com.gyjx19e.om.bean下,但是我value写com.gyjx19e.om.bean.*会报实体找不到的错误,改为com.gyjx19e.om.*就正确了 此句用来扫描所有的实体类,以便在保存实体的时候可以找到实体与对应数据库表的映射关系(采用xml映射文件配置,则不需要该句) </bean> c. 配置数据源 可以采用c3p0、dbcp、prxool等方式配置数据源 本例采用c3p0方式 //配置数据源 采用c3p0方式配置 <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> <property name="driverClass" value="oracle.jdbc.driver.OracleDriver"/> <property name="jdbcUrl" value="jdbc:oracle:thin:@192.168.31.195:1521:OM"/> <property name="user" value="om"/> <property name="password" value="om"/> <!--初始化时获取的连接数,取值应在minPoolSize与maxPoolSize之间。Default:3--> <property name="initialPoolSize" value="1"/> <!--连接池中保留的最小连接数。--> <property name="minPoolSize" value="1"/> <!--连接池中保留的最大连接数。 Default:15--> <property name="maxPoolSize" value="300"/> <!--最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。Default:0--> <property name="maxIdleTime" value="60"/> <!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default:3--> <property name="acquireIncrement" value="5"/> <!--每60秒检查所有连接池中的空闲连接。Default:0--> <property name="idleConnectionTestPeriod" value="60"/> </bean> d. 配置spring事务管理服务 可以采用注解的方式实现事务管理也可以采用传统xml的方式配置事务 注解的方式: //声明事务处理器 采用注解的方式实现事务管理 //使用基于注解方式配置事务 传统的xml方式: 完成的spring配置文件如下: <?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:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"> <!--自动扫描方式管理类--> <context:component-scan base-package="com.gyjx19e.om"/> <!--配置数据源 采用c3p0方式配置--> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> <property name="driverClass" value="oracle.jdbc.driver.OracleDriver"/> <property name="jdbcUrl" value="jdbc:oracle:thin:@192.168.31.195:1521:OM"/> <property name="user" value="om"/> <property name="password" value="om"/> <!--初始化时获取的连接数,取值应在minPoolSize与maxPoolSize之间。Default:3--> <property name="initialPoolSize" value="1"/> <!--连接池中保留的最小连接数。--> <property name="minPoolSize" value="1"/> <!--连接池中保留的最大连接数。 Default:15--> <property name="maxPoolSize" value="300"/> <!--最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。Default:0--> <property name="maxIdleTime" value="60"/> <!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default:3--> <property name="acquireIncrement" value="5"/> <!--每60秒检查所有连接池中的空闲连接。Default:0--> <property name="idleConnectionTestPeriod" value="60"/> </bean> <!--Spring管理hibernate的sessionFactory 接管hibernate的事务管理服务--> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <!--注入数据源配置--> <property name="dataSource" ref="dataSource"/> <!--指定hibernate的映射文件 <property name="mappingResources"> <list> <value>cn/itcast/bean/buyer.hbm.xml</value> </list> </property>--> <!--指定hibernate的属性值--> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.OracleDialect</prop> <prop key="hibernate.hbm2ddl.auto">update</prop> <prop key="hibernate.show_sql">true</prop> <prop key="hibernate.format_sql">true</prop> </props> <!-- <value> hibernate.dialect=org.hibernate.dialect.OracleDialect hibernate.hbm2ddl.auto=update hibernate.show_sql=true hibernate.format_sql=true </value>--> </property> <property name="packagesToScan" value="com.gyjx19e.om.*"/> </bean> <!--声明事务处理器 采用注解的方式实现事务管理--> <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory"/> </bean> <!--使用基于注解方式配置事务--> <tx:annotation-driven transaction-manager="txManager"/> </beans> 如果采用xml配置映射文件和事务管理或者注入,可以将相应的地方替换掉。
<!--配置数据源 采用c3p0方式配置-->
<bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<tx:annotation-driven transaction-manager="txManager"/>
相关推荐
SSH整合是指将Spring、Struts2和Hibernate三个开源框架整合在一起,实现MVC设计模式的高效开发模式。在这个过程中,Spring作为应用的核心容器,负责管理Bean;Struts2作为表现层框架,处理用户请求和视图展示;...
通过以上步骤,SSH整合的基本架构就搭建完成了。接下来,开发者可以定义自己的业务逻辑Bean,实现DAO(Data Access Object)层和Service层,利用Spring的AOP(Aspect-Oriented Programming)特性进行事务管理,以及...
通过这个SSH整合的实例,开发者可以更好地理解这三大框架如何协同工作,从而提高开发效率和代码质量。不过,实际项目可能涉及到更多细节,例如异常处理、安全性配置、国际化支持等,都需要根据项目需求进行相应的...
SSH整合.doc和ssh整合步骤.pdf则详细介绍了整合过程。整合通常包括以下几个关键步骤: 1. **环境准备**:确保安装了MyEclipse、Java开发环境(JDK)、Tomcat服务器,并设置好相应的环境变量。 2. **下载和导入框架...
**三、SSH整合步骤** 1. **配置环境**:安装JDK、Tomcat服务器,以及SSH框架的库文件。 2. **创建项目结构**:设置Maven或Gradle构建工具,创建基本的Web项目目录结构。 3. **配置Spring**:编写Spring的配置文件...
hibernate,spring,struts2等三种java框架,整合的详细步骤和一些注意点
SSH整合在JavaWeb开发中是一项重要的技术组合,它包含了三个主要的开源框架:Spring、Struts和Hibernate。这些框架分别负责应用的业务逻辑管理、视图层控制和数据持久化。接下来,我们将深入探讨SSH整合的关键知识点...
### SSH整合步骤详解 #### 一、概述 SSH框架整合是指将Struts2(S)、Spring(S)和Hibernate(H)三个框架结合在一起使用,从而实现MVC架构下的高效开发与管理。本文将详细介绍SSH整合的具体步骤及注意事项,帮助...
### SSH整合步骤详解 #### 一、概述 SSH框架整合是指将Struts2(S)、Spring(S)和Hibernate(H)三个技术框架结合起来构建一个高效稳定的Java Web应用程序的过程。这三个框架分别负责Web层、业务逻辑层和服务...
以下是SSH框架整合的详细步骤: 1. **环境准备**: 首先确保已经安装了JDK,并配置好环境变量。同时,下载并引入SSH框架的相应jar包,包括Spring、Struts2和Hibernate的核心库以及它们的依赖库。 2. **创建项目...
5. **整合步骤**: - 配置Struts2的`struts.xml`,声明Spring插件并指定Spring应用上下文配置文件。 - 在Spring的`applicationContext.xml`中配置DataSource、SessionFactory、HibernateTemplate或JPA相关配置。 ...
**SSH整合步骤**: 1. **环境配置**:首先,你需要安装并配置好JDK,设置好开发环境如Eclipse或IntelliJ IDEA,然后导入这三个框架的库。 2. **创建项目**:创建一个新的Maven项目,然后在pom.xml中添加Spring、...
SSH整合的步骤大致如下: 1. 引入依赖:在项目中引入Spring、Struts和Hibernate的库文件或添加对应的Maven或Gradle依赖。 2. 配置Spring:创建spring-context.xml,定义Bean的配置,包括业务Service、DAO以及数据...
在本例子中,SSH整合被用于实现数据库的增删改查功能,并且包括了搭建SSH框架所需的jar包和详细步骤。 首先,SSH整合的准备工作包括下载并导入这三大框架的相应库文件,通常这些库会被打包到项目的lib目录下。在...
这里我们主要探讨SSH整合的关键步骤,并结合提供的压缩包文件中的组件来解析其核心功能。 首先,让我们来看看Struts2。Struts2是MVC(Model-View-Controller)设计模式的实现,它提供了强大的动作调度、结果映射和...
SSH整合是Java开发中一种常见的框架集成方式,它结合了Struts2、Spring和Hibernate三个开源框架,以实现高效、灵活的企业级应用开发。这里提到的"ssh整合所需所有架包"是一个包含这三个框架相应版本的集合,确保它们...
5. **整合步骤**: SSH整合通常涉及以下步骤: - 配置Spring的Bean定义文件,声明各层组件及其依赖。 - 配置Struts的Action映射和结果页面。 - 配置Hibernate的实体映射文件(Hibernate.cfg.xml),设置数据库...
SSH整合的核心在于将这三者有效地结合在一起,通常的集成步骤包括: 1. **配置Spring**:定义Bean,包括Service、DAO以及对应的实体类,通过XML或Java配置来管理依赖关系。 2. **配置Struts2**:创建Action类,实现...
下面,我们将深入解析SSH框架的整合步骤。 ### 一、项目搭建 1. **创建Web项目**:在MyEclipse或Eclipse中创建一个新的Web项目,命名为“sshproject”。 2. **添加框架依赖**: - **Struts2**:下载并导入Struts...
开发者可以通过分析和运行这些源码,了解SSH整合的实现步骤和最佳实践。 6. **关键配置**: - **struts.xml**:定义了Struts 2的动作和结果,包括控制器的映射。 - **hibernate.cfg.xml**:配置数据库连接信息,...