目录

SSH整合

Spring整合web项目

在Servlet当中直接加载配置文件,获取对象

三大框架 之 SSH整合 随笔 第1张

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

存在问题

  • 每次请求都会创建一个Spring的工厂,这样浪费服务器资源,应该一个项目只有一个Spring的工厂。
  • 在服务器启动的时候,创建一个Spring的工厂。
  • 创建完工厂,将这个工厂类保存到ServletContext中。
  • 每次使用的时候都从ServletContext中获取。

解决方案

​ 使用spring核心监听器ContextLoaderListener
​ 1.引入jar包 spring-web.jar
​ 2.配置监听器

<!-- Spring的核心监听器 -->
<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<!-- 加载Spring的配置文件的路径的,默认加载的/WEB-INF/applicationContext.xml -->
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext.xml</param-value>
</context-param>

​ 3.直接在Action当中获取工厂

三大框架 之 SSH整合 随笔 第2张

SSH整合

引入Jar包

引入配置文件

struts

​ 创建配置文件
三大框架 之 SSH整合 随笔 第3张

​ 添加核心过滤器
三大框架 之 SSH整合 随笔 第4张

hibernate

​ 创建配置文件
三大框架 之 SSH整合 随笔 第5张

spring

​ 添加核心配置文件
三大框架 之 SSH整合 随笔 第6张

​ 在web.xml当中添加spring核心监听器
三大框架 之 SSH整合 随笔 第7张

创建包结构

创建相关类

创建domain,建立关系映射

三大框架 之 SSH整合 随笔 第8张

三大框架 之 SSH整合 随笔 第9张

创建CustomerAction,配置Struts

三大框架 之 SSH整合 随笔 第10张

三大框架 之 SSH整合 随笔 第11张

JSP当中input标签添加name跳转到action

三大框架 之 SSH整合 随笔 第12张

创建Customer业务层,把业务层交给spring管理

三大框架 之 SSH整合 随笔 第13张

三大框架 之 SSH整合 随笔 第14张

三大框架 之 SSH整合 随笔 第15张

spring整合struts

Action由struts自身创建

  • 到struts中找到struts-spring-plugin.jar导入

  • 让Action按照名称自动注入Service

三大框架 之 SSH整合 随笔 第16张

Action由spring创建

  • 将Action交给spring来管理 ,并设置为多例

三大框架 之 SSH整合 随笔 第17张

  • 在struts.xml当中配置action的class为spring中action的id

三大框架 之 SSH整合 随笔 第18张

创建CustomerDao,交给spring管理

三大框架 之 SSH整合 随笔 第19张

三大框架 之 SSH整合 随笔 第20张

三大框架 之 SSH整合 随笔 第21张

在业务当中注入dao

三大框架 之 SSH整合 随笔 第22张

三大框架 之 SSH整合 随笔 第23张

Spring整合Hibernate框架

在Spring的配置文件中,引入Hibernate的配置的信息

<!--引入属性文件-->
<context:property-placeholder location="classpath:jdbc.properties"/>
<!--连接池-->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
    <property name="driverClassName" value="${jdbc.driverclass}" />
    <!--属性文件当中的名称不能和name名称一样-->
    <property name="url" value="${jdbc.url}" />
    <property name="username" value="${jdbc.username}" />
    <property name="password" value="${jdbc.password}" />
</bean>
<!-- Spring整合Hibernate -->
<!-- 引入Hibernate的配置的信息=============== -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
    <!-- 注入连接池 -->
    <property name="dataSource" ref="dataSource"/>
    <!-- 配置Hibernate的相关属性 -->
    <property name="hibernateProperties">
        <props>
            <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
            <prop key="hibernate.show_sql">true</prop>
            <prop key="hibernate.format_sql">true</prop>
            <prop key="hibernate.hbm2ddl.auto">update</prop>
        </props>
    </property>
    <!-- 设置映射文件 -->
    <property name="mappingResources">
        <list>
            <value>com/itlike/domain/Account.hbm.xml</value>
        </list>
    </property>
</bean>

改写DAO继承HibernateDaoSupport

三大框架 之 SSH整合 随笔 第24张

在DAO中直接注入SessionFactory

三大框架 之 SSH整合 随笔 第25张

添加事务

三大框架 之 SSH整合 随笔 第26张

在业务层上添加事务注解

三大框架 之 SSH整合 随笔 第27张

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄