MVC案例整合Spring和Hibernate

时间:2024-10-14 20:27:29

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

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

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

整合步骤

1、先加入Hibernate

2、在加入Spring,整合

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

1、导入hibernate的jar包

<dependency>
	<groupId>org.hibernate</groupId>
	<artifactId>hibernate-core</artifactId>
	<version>5.2.17.Final</version>
</dependency>

2、新建配置文件

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

加入Spring

1、导入jar包

<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容器,具体内部细节我们可以不关心: