IntelliJ IDEA 下Spring整合Struts2、Hibernate

1. 整合原理:

Spring与Struts2整合实际上是将Action对象交给Spring容器来负责创建。
Spring与Hibernate整合就是将sessionFactory交给Spring来负责维护,以及Spring维护session和aop事务。

2. 需要导入的特殊jar包

Hibernate中


java persist api java的持久化规范(接口)
在这里插入图片描述
MySQL数据库驱动

Struts2中

在这里插入图片描述
Struts2整合Spring插件包。需要注意的是,导入这个包以后,每当Struts2在启动时就会寻找spring容器,找不到就会抛出异常。

Spring中

整合aop(spring-aop | spring-aspect | aop联盟 | aopweaving)
整合连接池和事务(spring-jdbc | spring-tx | c3p0 | spring-orm)
在这里插入图片描述
标签库

3. 单独配置Spring容器

在web.xml中配置
在这里插入图片描述

4.配置Struts2

  1. 基础配置: 在web.xml中配置核心过滤器 在这里插入图片描述
    2.Struts2和Spring整合 在struts.xml中配置对象工厂交给spring

<constant name="struts.objectFactory" value="spring"/>
常用的整合方案为:Spring负责创建action以及组装依赖属性。 创建一个TestAction类包含一个service属性
在这里插入图片描述

在ApplicationContext.xml中配置Action和注入service属性
在这里插入图片描述
在struts.xml中配置Action
在这里插入图片描述
简单测试。启动Tomcat后打开浏览器输入链接,转发到正确页面就可以了
在这里插入图片描述
控制台打印出service的哈希码值即为注入成功
在这里插入图片描述

5.配置Hibernate

  1. 配置C3P0连接池
    ①配置db.properties配置文件 在这里插入图片描述
    ②在ApplicationContext.xml中配置连接池
    在这里插入图片描述
    2.在ApplicationContext.xml中配置sessionFactory,并将连接池注入sessionFactory 在这里插入图片描述
    这样子基本的连接就配置好了,下面用个Demo进行测试。 写一个Dao做简单的查询并打印
    在这里插入图片描述
    在ApplicationContext.xml中配置Dao,不要忘记注入sessionFactory,不然会报错
    在这里插入图片描述
    写一个测试类
    在这里插入图片描述

最后结果。输出了查询结果,基本连接就配置完成了
在这里插入图片描述

5.配置aop事务 在ApplicationContext.xml中配置核心事务管理器并打开注解管理事务 在这里插入图片描述

写一个简单的Demo试试。 增删改需要事务,所以写了个简单的添加
在这里插入图片描述
重点来了 在TestService中进行注解配置事务。
在这里插入图片描述
在测试类中运行后输出了Sql语句,aop事务也完成了

在这里插入图片描述

6.扩大session作用范围

  • 用于避免使用懒加载时出现no-session问题,需要扩大session的作用范围
  • 在web.xml中配置filter 在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43184769/article/details/82780387