一、准备工作和整体架构
首先导入spring相关的jar包,然后在web中配置spring的配置文件,在spring的配置文件中配置hibernate,而hibernate配置数据源要用到的变量则是在properties文件中配置,下面就来一一说明
二、web配置
先贴出web的全部代码
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>ExpressDoor2</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list> <servlet> <servlet-name>spring</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:config/spring-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>spring</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:config/applicationContext.xml</param-value> </context-param> </web-app>
在web.xml中,配置了spring的servlet因为使用的是springmvc所以,还包含了springmvc的配置文件spring-servlet.xml,这里不多说,需要了解的可以看我其他的文章,这里只看application.xml这个配置:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:jms="http://www.springframework.org/schema/jms" xmlns:amq="http://activemq.apache.org/schema/core" xsi:schemaLocation=" http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core-5.8.0.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/jms http://www.springframework.org/schema/jms/spring-jms-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> <context:annotation-config/> <bean class = "org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor" /> <import resource="hibernate.xml"/> </beans>
在这里,配置了注解并引入了一个hibernate.xml配置文件,hibernate配置文件的全部内容如下:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:jms="http://www.springframework.org/schema/jms" xmlns:amq="http://activemq.apache.org/schema/core" xsi:schemaLocation=" http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core-5.8.0.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/jms http://www.springframework.org/schema/jms/spring-jms-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> <!-- spring加载properties文件 --> <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <list> <!-- 这里支持多种寻址方式:classpath和file --> <value>classpath:config/properties/db.properties</value> </list> </property> </bean> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="${db.driverClassName}"> </property> <property name="url" value="${db.url}"> </property> <property name="username" value="${db.username}"></property> <property name="password" value="${db.password}"></property> </bean> <!-- 配置数据库 --> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource"> <ref bean="dataSource" /> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect"> org.hibernate.dialect.MySQLDialect </prop> </props> </property> <property name="mappingResources"> <list> <value>config/hibernate/getExpress.hbm.xml</value> <value>config/hibernate/UserInfo.hbm.xml</value> </list> </property> </bean> <bean id="expressService" class="service.ExpressService"> <property name="sessionFactory"> <ref bean="sessionFactory" /> </property> </bean> </beans>
这里,首先定义了一个加载properties文件的bean,在locations中填写properties文件的路径,properties文件的内容如下:
db.driverClassName=com.mysql.jdbc.Driver
db.url=jdbc:mysql://localhost:3306/express_door
db.username=root
db.password=root
看的出来,properties文件就是包含了一些数据库的驱动以及数据库名字等,这些单独写出来便于理解与管理,接着hibernate.xml往下走,通过propertyConfigurer这个bean加载properties文件后我们就可以引用他的内容了,在定义datasource数据源的时候可以看到,我们可以通过${ }来引用properties文件中的内容,配置数据源后就需要配置hibernate的sessionfactory这是hibernate的核心配置,在这里面需要将前面定义的数据源注入进去,dialect是配置方言(不确定),mappingResources则是配置hibernate的一些映射文件,最后我们可以新建一个类继承HibernateDaoSupport类,在配置文件中将sessionfactory注入到这个类中,我们就可以通过getHibernateTemplate()方法来进行数据库操作了
public class ExpressService extends HibernateDaoSupport{ /** * 添加一条取快递信息 * @param bean */ public void saveExpressGet(getExpressBean bean){ if(bean != null ){ getHibernateTemplate().save(bean); } } }
相关推荐
下面将详细介绍Spring集成Hibernate所需的jar包以及它们各自的作用。 1. **Spring框架**: - Spring核心模块:包括`spring-context`, `spring-beans`, `spring-core`, `spring-expression`等,提供依赖注入(DI)...
- Spring与Hibernate集成,通常使用Spring的HibernateTemplate或HibernateDaoSupport,提供事务管理和数据访问抽象,使得代码更简洁,事务控制更方便。 - Spring与Struts2集成,Spring可以作为Struts2的Action的...
在"Spring集成Hibernate Myeclipse下"的场景中,我们首先需要配置MyEclipse环境,确保安装了Spring和Hibernate的插件,以及Tomcat服务器。接下来,我们将逐步介绍集成过程中的关键步骤: 1. **创建项目结构**:创建...
在"spring集成hibernate所需jar包"中,通常包含以下关键的库文件: 1. **Spring Framework**:这是Spring的核心组件,包括`spring-context`、`spring-beans`、`spring-aop`、`spring-jdbc`和`spring-orm`等模块。...
在Spring集成Hibernate的过程中,我们需要配置Spring的DataSource、SessionFactory以及Hibernate的实体类和映射文件。DataSource是连接数据库的桥梁,SessionFactory则负责创建Session对象,Session对象是执行数据库...
Spring集成Hibernate提供了高效、稳定的数据库访问方案。通过Spring的事务管理、AOP支持和DAO抽象,我们可以专注于业务逻辑,而不用过多关注底层的数据库操作。同时,结合日志记录,能够更好地追踪和诊断问题。总的...
这个“spring集成hibernate,最简单移动的小案例”旨在展示如何将这两个框架整合,以创建一个简洁且实用的应用。 首先,Spring和Hibernate的集成涉及到多个步骤: 1. **引入依赖**:项目中需要包含Spring和...
**Spring与Hibernate集成详解** 在Java企业级应用开发中,Spring和Hibernate是两个非常重要的框架。Spring是一个全方位的轻量级应用框架,提供了强大的依赖注入、AOP(面向切面编程)以及各种服务管理功能。而...
集成Struts2、Spring和Hibernate时,需要注意配置文件的正确设置,包括Action配置、Spring Bean的定义、Hibernate的数据库连接和实体映射。同时,理解这三个框架的工作原理和相互作用,对于解决问题和优化代码至关...
Struts1、Spring、Hibernate和iBatis是Java Web开发中的四大框架,它们共同构建了一个强大的后端架构,用于处理复杂的企业级应用。这个集成方案旨在优化开发流程,提高代码的可维护性和可扩展性。 Struts1是MVC...
这个版本的Struts2集成了Spring和Hibernate,使得开发者能够更方便地管理控制层(Controller)和持久层(Persistence Layer)。Spring是一个全面的后端应用框架,而Hibernate则是一个流行的ORM(对象关系映射)工具...
本文主要讲解如何在Spring4.0.4下整合Hibernate4.3.6; 主要介绍了如下内容: 项目结构的规划; Spring MVC的配置和使用; Spring下整合Hibernate的具体过程; 数据源的配置; jdbcTemplate和HibernateTemplate两种...
spring+hibernate的集成; 前端采用Extjs搭建框架,菜单可配置; 服务端对hibernate做了比较多的封装,功能强大,开发方便; 对web层交互也做了封装; 对异常机制做了简单的封装;
4. **DAO支持**:Spring提供了对DAO的支持,可以方便地集成Hibernate DAO实现。 #### 三、示例代码解析 下面基于提供的代码片段,详细分析Spring2 Hibernate3集成的关键点。 ##### 1. UserDAO接口定义 ```java ...
这篇博客“Spring之Spring2.5集成Hibernate3.6”主要探讨了如何将两个经典的开源框架——Spring 2.5和Hibernate 3.6进行整合,以实现数据持久化的高效管理。 Spring 2.5版本是Spring框架的一个重要里程碑,它引入了...
#### Spring集成Hibernate **背景介绍** Hibernate作为一款流行的ORM框架,提供了对象关系映射的能力,使得Java对象可以透明地映射到数据库表上。它极大地简化了数据持久化的操作,提高了开发效率。而Spring则通过...
通过这种方式,Spring和Hibernate成功集成,使得我们可以利用Spring的IoC和AOP特性来管理事务,同时利用Hibernate进行高效的数据持久化操作。这种集成方式大大提高了代码的可维护性和开发效率,降低了系统的耦合度。
Spring集成Hibernate实现多数据源,通常会涉及到以下步骤: 1. **配置数据源**:在Spring的配置文件中定义多个DataSource bean,每个bean代表一个数据源。例如,我们可以分别为生产环境和测试环境设置不同的数据源...