2019.1.4 SSH框架整合步骤(一)

SSH整合

1.三大框架整合原理

Spring与Struts2整合就是将Action对象交给Spring容器负责创建

Spring与Hibernate整合就是将sessionFactory交给Spring来负责维护。

Spring负责session维护以及aop事务

2019.1.4 SSH框架整合步骤(一)




2.整合步骤

2.1 导包

Hibernate

(1)hibernate/lib/required

(2)hibernate/lib/jpa  Java persist API   Java持久化规范(接口)

(3)数据库驱动包

2019.1.4 SSH框架整合步骤(一)

2019.1.4 SSH框架整合步骤(一)

Struts2

(1) struts-2.3.24/apps/struts2-blank/WEB-INF/lib
注意:javassist-3.11.0.GA.jar包与hibernate重复删除低版本的 (2)struts整合插件包
注意:这个包一旦导入,那么struts2在启动时就会寻找Spring容器,找不到将会抛出异常

2019.1.4 SSH框架整合步骤(一)

2019.1.4 SSH框架整合步骤(一)

Spring (比较复杂)

(1)基本:4+2  (expression+core+context+beans+logging+log4j)
(2)整合web:web包 (spring-web)
(3)整合aop:4个 (spring-aop+spring-aspect+aop联盟+aop-weaving)
(4)整合jdbc事务:4个 (spring-jdbc+spring-tx+c3p0+spring-orm)
(5)整合Junint测试:test包 (spring-test) (6)JSTL 包
  • (1)基本:4+2 (expression+core+context+beans+logging+log4j)

    2019.1.4 SSH框架整合步骤(一)

2019.1.4 SSH框架整合步骤(一)

2019.1.4 SSH框架整合步骤(一)

  • (2)整合web:web包 (spring-web)

    2019.1.4 SSH框架整合步骤(一)

  • (3)整合aop:4个 (spring-aop+spring-aspect+aop联盟+aop-weaving)

    2019.1.4 SSH框架整合步骤(一)

2019.1.4 SSH框架整合步骤(一)

2019.1.4 SSH框架整合步骤(一)

  • (4)整合jdbc事务:4个 (spring-jdbc+spring-tx+c3p0+spring-orm)

    2019.1.4 SSH框架整合步骤(一)

2019.1.4 SSH框架整合步骤(一)

  • (5)整合Junint测试:test包 (spring-test)

  • 2019.1.4 SSH框架整合步骤(一)

  • (6)JSTL标签库

    2019.1.4 SSH框架整合步骤(一)




2.2 单独配置Spring容器

  • 创建配置文件aplicationContext.xml,并导入约束 (4个) beans+context+aop+tx

    2019.1.4 SSH框架整合步骤(一)

  • 配置web.xml 配置Spring随项目启动

  导入Spring-web-source 的源码包,后面需要配置一个context-pram :打开ContextLoaderListener 类 接着打开ContextLoaderListener接口  找到一个常量contextConfigLocation

2019.1.4 SSH框架整合步骤(一)

2019.1.4 SSH框架整合步骤(一)

2019.1.4 SSH框架整合步骤(一)

核心:
<!-- 让Spring随项目启动而创建的监听器 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener> <!-- 配置Spring配置文件位置参数 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
  • 测试 说明启动成功没有报错控制台

    2019.1.4 SSH框架整合步骤(一)



2.3 单独配置struts2

  • 配置struts2的主配置文件

    2019.1.4 SSH框架整合步骤(一)

2019.1.4 SSH框架整合步骤(一)

 <!-- 配置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>
  • 测试

    2019.1.4 SSH框架整合步骤(一)

2019.1.4 SSH框架整合步骤(一)




2.4 struts2与Spring整合

  • 1.导包 struts2-spring-plugin-2.3.24.jar

    2019.1.4 SSH框架整合步骤(一)

  • 2.配置一个常量

    2019.1.4 SSH框架整合步骤(一)

  • 3.整合方案1:struts2自己创建action,Spring负责组装依赖属性

    2019.1.4 SSH框架整合步骤(一)

  • 4.测试

    出现这个一般说明配置成功了

    2019.1.4 SSH框架整合步骤(一)

2019.1.4 SSH框架整合步骤(一)

整合方案1 并不推荐使用,理由:最好由Spring完整管理action的生命周期,Spring中功能才应用到action上。



  • 整合方案2:spring 负责创建action以及组装

    2019.1.4 SSH框架整合步骤(一)

2019.1.4 SSH框架整合步骤(一)

2019.1.4 SSH框架整合步骤(一)

2019.1.4 SSH框架整合步骤(一)

  • 测试2

    2019.1.4 SSH框架整合步骤(一)



2.5 单独配置Hibernate

  • 1.编写实体类和ORM元数据

    2019.1.4 SSH框架整合步骤(一)

2019.1.4 SSH框架整合步骤(一)

  • 2.配置主配置文件

    2019.1.4 SSH框架整合步骤(一)

2019.1.4 SSH框架整合步骤(一)

  • 3.测试

    2019.1.4 SSH框架整合步骤(一)

2019.1.4 SSH框架整合步骤(一)

2019.1.4 SSH框架整合步骤(一)


  • 加载配置文件方案1:

    2019.1.4 SSH框架整合步骤(一)

2019.1.4 SSH框架整合步骤(一)

2019.1.4 SSH框架整合步骤(一)

2019.1.4 SSH框架整合步骤(一)


  • 加载配置文件方案2:

    2019.1.4 SSH框架整合步骤(一)

2019.1.4 SSH框架整合步骤(一)

2019.1.4 SSH框架整合步骤(一)

2019.1.4 SSH框架整合步骤(一)




2.6 Spring整合c3p0连接池

  • 1.配置db.properties

    2019.1.4 SSH框架整合步骤(一)

  • 2.引入连接池到Spring

    2019.1.4 SSH框架整合步骤(一)

  • 3.将连接池注入给SessionFactory

    2019.1.4 SSH框架整合步骤(一)

  • 4.测试

    2019.1.4 SSH框架整合步骤(一)

2019.1.4 SSH框架整合步骤(一)

2019.1.4 SSH框架整合步骤(一)




2.7 Spring整合Hibernate环境操作数据库

  • Dao类和实现类的创建 继承HibernateDaoSupport

    2019.1.4 SSH框架整合步骤(一)

  • hibernate模版的操作

    HQL查询 execute方法

    2019.1.4 SSH框架整合步骤(一)

Criteria查询 findByCriteria方法

2019.1.4 SSH框架整合步骤(一)

  • Spring中配置Dao 对象

    2019.1.4 SSH框架整合步骤(一)

  • 测试 Dao层数据

    2019.1.4 SSH框架整合步骤(一)

2019.1.4 SSH框架整合步骤(一)

2019.1.4 SSH框架整合步骤(一)

上一篇:java构造器级简单内存分析


下一篇:洛谷——P1033 *落体