MVC案例整合Spring和Hibernate

说到整合Spring和Hibernate首先要搞清楚,整合什么?

1、使用Spring的IOC容器来生产Hibernate的SessionFactory对象实例

2、让Hibernate使用Spring的声明式事务

整合步骤

1、先加入Hibernate

2、在加入Spring,整合

新建项目,建立包结构,演示整合

1、导入hibernate的jar包

XML 复制代码
<dependency>
	<groupId>org.hibernate</groupId>
	<artifactId>hibernate-core</artifactId>
	<version>5.2.17.Final</version>
</dependency>

2、新建配置文件

3、生产model类和数据库的表之间的关系映射xml文件

加入Spring

1、导入jar包

XML 复制代码
<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<version>5.0.6.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-jdbc</artifactId>
			<version>5.0.6.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-tx</artifactId>
			<version>5.0.6.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-orm</artifactId>
			<version>5.0.6.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-aspects</artifactId>
			<version>5.0.6.RELEASE</version>
		</dependency>
<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>5.0.6.RELEASE</version>
 </dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-web</artifactId>
			<version>5.0.6.RELEASE</version>
        </dependency>

2、配置Spring,同时也就整合了

补充一点:Hibernate的配置文件可以去掉,它里边的原生的hibernate属性怎么配置呢?

整合就完了吗?不是,我们还要考虑一些问题

web应用中使用Spring框架的时候,Spring的IOC容器的创建时机:应该是在Web应用被载入服务器的时候,就要创建Ioc容器,并且要将Ioc容器放到Web的ServletContext域中!以供Web应用里的类调用!具体应该怎么做呢?看代码!

web.xml

SpringContextListener.java

在真正的web项目中,是不用我们自己去写SpringContextListener这个监听器的,spring已经给我们写好了一个,我们直接在web.xml配置文件中配置就好了!

通过以下utils工具,可以直接获取到Spring的ioc容器,具体内部细节我们可以不关心:

相关推荐
荆州克莱12 分钟前
Golang的图形编程基础
spring boot·spring·spring cloud·css3·技术
m0_7482350723 分钟前
springboot中配置logback-spring.xml
spring boot·spring·logback
蒙双眼看世界1 小时前
IDEA运行Java项目总会报程序包xxx不存在
java·spring·maven
计算机学姐9 小时前
基于微信小程序的驾校预约小程序
java·vue.js·spring boot·后端·spring·微信小程序·小程序
qw94913 小时前
Spring 6 第6章——单元测试:Junit
spring·junit·单元测试
荆州克莱14 小时前
Golang的网络编程安全
spring boot·spring·spring cloud·css3·技术
清风-云烟14 小时前
使用redis-cli命令实现redis crud操作
java·linux·数据库·redis·spring·缓存·1024程序员节
好像是个likun15 小时前
spring Ioc 容器的简介和Bean之间的关系
java·后端·spring
拾忆,想起15 小时前
微服务入门:从零开始构建你的微服务架构
spring·spring cloud·微服务·架构
mqiqe21 小时前
Spring AI TikaDocumentReader
人工智能·spring·知识图谱