Spring 是系统核心框架,应用 Spring 框架提供的 IOC(DI)、AOP 等技术,
把 Struts 2、Hibernate 对象由 Spring 容器进行解耦合管理, 便于系统可扩展性和维护,也增强系统灵活性,例如可以自由替换持久化数据技术, JDBC、Mybatis 和 Hibernate 之间切换,同时减少开发工作量,提高开发效率 整合思路 说白了整合就是实现 Spring 与 Struts2 和 Spring 与 Hibernate 的整合,实际整合就是将struts2、hibernate中的对象配置到spring容器 中,由 Spring 来管理。1. Struts 2 和 Hibernate 是俩个独立的框架,所以先添加这俩个框架支持;
创建包:dao、entity、service、action、utils 添加:Struts 2 和 Hibernate 等jar包 Hibernate3.3.2 antlr-2.7.6.jar cglib-2.2.jar commons-collections-3.1.jar commons-lang-2.4.jar dom4j-1.6.1.jar hibernate3.jar javassist-3.9.0.GA.jar jta-1.1.jar log4j_128.jar ojdbc6.jar slf4j-api-1.5.8.jar slf4j-log4j12-1.5.8.jar Struts2.3.15.1 commons-fileupload-1.3.jar commons-io-2.0.1.jar commons-lang3-3.1.jar commons-logging-1.1.3.jar freemarker-2.3.19.jar javassist-3.11.0.GA.jar ognl-3.0.6.jar struts2-core-2.3.15.1.jar xwork-core-2.3.15.1.jar 添加:实体,编写entity.hbm.xml文件,配置相关的对象关联关系 添加:hibernate.cfg.xml 配置文件,引入对象映射文件 添加:default.xml,Struts.xml,和 Web.xml文件(过滤器,Struts 2启动文件) 添加:log4j.properties 日志记录文件 添加:Utils包下ExportDDL.java(正向工程直接生成表) 编写:Dao,Impl,Service,Impl等方法待用,其中 Impl 中属性要通过 applicationContext.xml 中注入..参考项目2.实现spring和hibernate整合,配置数据源对象为hibernate配置SessionFactory对象,
实现并配置DAO和Service。需要为业务层添加声明式事务管理添加 Spring 框架支持 Jar 包:
Spring3.1.1 org.springframework.aop-3.1.1.RELEASE.jar org.springframework.asm-3.1.1.RELEASE.jar org.springframework.aspects-3.1.1.RELEASE.jar org.springframework.beans-3.1.1.RELEASE.jar org.springframework.context-3.1.1.RELEASE.jar org.springframework.context.support-3.1.1.RELEASE.jar org.springframework.core-3.1.1.RELEASE.jar org.springframework.expression-3.1.1.RELEASE.jar 新增 Spring AOP 支持、ORM、事务、JDBC 和 Web Jar aopalliance.jar aspectjweaver.jar cglib-nodep-2.2.3.jar org.springframework.jdbc-3.1.1.RELEASE.jar org.springframework.orm-3.1.1.RELEASE.jar org.springframework.transaction-3.1.1.RELEASE.jar org.springframework.web-3.1.1.RELEASE.jar asm-3.3.jar(在struts2 lib里) Struts2 与 Spring 整合 Jar,将 Struts2 对象创建交由 Spring 管理 struts2-spring-plugin-2.3.15.1.jar 删除相同的 Jar cglib-2.2.jar、commons-lang-2.4.jar、javassist-3.11.0.GA.jar org.springframework.context.support-3.1.1.RELEASE.jar 添加:applicationContext.xml 配置文件 (1)配置SessionFactory对象 <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="configLocation"> <value>classpath:hibernate.cfg.xml</value> </property> </bean> 配置Dao实现类中的属性:sessionFactorys 并使用:this.getHibernateTemplate().find()等方法使用SessionFactory对象 (2)定义Spring声明式事务 定义事务管理器 配置事务规则(3)AOP 配置,并设置切入点、织入
(4)定义Dao、Service、Action 等 Bean 方便注入使用 3.实现 Srping 和 Struts2 整合,导入struts2-spring-plugin-2.3.15.1.jar驱动, 将 Action 对象的创建和管理由 StrutsSpringObjectFactory 创建,并注入业务对象。 实现有俩种方式: 第一种采用 Spring 自动装配(按名称匹配的方式,注意注入业务对象 提供setter的set+业务对象命名规范) 第二种由 Spring 容器管理 Struts2 的 Action 对象,配置过程。(重点注意struts.xml class修改为bean id)编写:Action(理解为控制层吧!)
编写:Struts.xml 文件 重点注意指向Class:不是直接指定而是指向 applicationContext.xml 中定义的 bean id