model:
package com.lzj.www.model; public class User { private Integer id; private String name; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
model.hbm.xml:
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="com.lzj.www.model"> <class name="User" table="user"> <id name="id"> <generator class="increment"/> </id> <property name="name"/> </class> </hibernate-mapping>
service:
package com.lzj.www.service.impl; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; import com.lzj.www.model.User; import com.lzj.www.service.UserService; public class UserServiceImpl extends HibernateDaoSupport implements UserService{ @Override public void addUser(User user) { this.getHibernateTemplate().save(user); } }
hibernate.cfg.xml:
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="connection.url">jdbc:mysql://localhost:3306/Spring</property> <property name="connection.username">root</property> <property name="connection.password">java_5937</property> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <property name="hibernate.hbm2ddl.auto">update</property> <property name="show_sql">true</property> <mapping resource="com/lzj/www/model/User.hbm.xml"/> </session-factory> </hibernate-configuration>
beans.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:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="configLocation"> <value>classpath:hibernate.cfg.xml</value> </property> </bean> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory"> <ref bean="sessionFactory"/> </property> </bean> <tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes> <tx:method name="add*" propagation="REQUIRED"/> </tx:attributes> </tx:advice> <aop:config> <aop:pointcut expression="execution(* com.lzj.www.service.impl.*.*(..))" id="pointcut"/> <aop:advisor advice-ref="txAdvice" pointcut-ref="pointcut"/> </aop:config> <!-- nullException --> <bean id="userService" class="com.lzj.www.service.impl.UserServiceImpl"> <property name="sessionFactory" ref="sessionFactory"/> </bean> </beans>
可能出现的错误:
1、nullpointException this.getHibernateTemplate()为null,原因是使用Template的对象是直接new出来的,spring并没有 对其进行注入,因此该对象是不具有sessionFactory的,也没有绑定相关的事务 所以要把这个对象配置到ioc容器中 2、java.lang.IllegalArgumentException Pointcut is not well-formed: expecting '(' at character position 0 在配置aop的advisor时,配置的是pointcut-ref而不是pointcut,用快捷键的时候小心点就是了
相关推荐
Struts2-Spring4-Hibernate4 XML配置的框架是一个经典的Java Web开发架构,它整合了三个主流的开源框架:Struts2、Spring4和Hibernate4。这个框架的配置主要通过XML文件来完成,同时也可以结合注解的方式进行更加...
这个压缩包文件“spring4-hibernate3-demo”很可能是包含了一个示例项目的源代码,用于演示这种集成。 首先,我们需要理解Spring 4和Hibernate 3的基本概念。Spring是一个全面的开源应用框架,它提供了依赖注入、...
通过以上步骤,你已经成功地将Spring和Hibernate整合在一起,使用全XML配置方式实现了数据访问层。这种方式虽然较为繁琐,但能清晰地分离各层职责,便于管理和维护。在实际项目中,还可以考虑使用注解配置或者Spring...
在集成Hibernate4时,需要的jar包包括: 1. hibernate-entitymanager.jar:实体管理功能,支持JPA规范。 2. hibernate-core.jar:Hibernate的核心库,包括查询语言HQL和Criteria API。 3. hibernate-validator.jar:...
**Spring与Hibernate集成详解** 在Java企业级应用开发中,Spring和Hibernate是两个非常重要的框架。Spring是一个全方位的轻量级应用框架,提供了强大的依赖注入、AOP(面向切面编程)以及各种服务管理功能。而...
3. Spring4对Hibernate4的事务管理支持 4. 使用JUnit进行测试驱动开发 5. Eclipse集成开发环境的使用 理解并掌握这些知识点,对于任何Java后端开发者来说都至关重要,因为它们构成了现代企业级应用的基础架构。通过...
Spring集成JPA(Java Persistence API)是将Spring框架与ORM(Object-Relational Mapping)解决方案之一的Hibernate结合使用的常见实践。这个例子展示了如何在Spring应用中配置和使用JPA,以便利用Hibernate作为JPA...
在"Struts2+Hibernate4+Spring3整合"中,通常有两种方式实现整合: 1. **XML方式**:这是传统的配置方式,所有的配置信息都在XML文件中。Struts2的配置文件(struts.xml)定义Action和结果,Hibernate的配置文件...
3. **配置Hibernate**: 在`pom.xml`中添加JPA的依赖后,Spring Boot默认会自动配置Hibernate。你还可以在`application.properties`中设置Hibernate的属性,如秀实体扫描路径、生成DDL、方言等。 ```properties ...
- Spring与Hibernate集成,通常使用Spring的HibernateTemplate或HibernateDaoSupport,提供事务管理和数据访问抽象,使得代码更简洁,事务控制更方便。 - Spring与Struts2集成,Spring可以作为Struts2的Action的...
这个"spring2.5+hibernate基于xml配置的实例"是一个经典的组合,展示了如何在旧版本的Spring(2.5)和Hibernate中通过XML配置文件来整合和管理应用的组件。 首先,Spring 2.5是Spring框架的一个早期版本,它引入了...
在Spring MVC和Spring框架中,我们可以通过Spring的HibernateTemplate或JPA Repository接口来集成Hibernate。配置文件`hibernate.cfg.xml`定义了数据库连接参数,而实体类则代表数据库表,通过注解如@Entity、@Table...
这个版本的Struts2集成了Spring和Hibernate,使得开发者能够更方便地管理控制层(Controller)和持久层(Persistence Layer)。Spring是一个全面的后端应用框架,而Hibernate则是一个流行的ORM(对象关系映射)工具...
在本项目"spring4+springmvc4+hibernate4 整合"中,我们将探讨这三者的集成过程,以及它们如何协同工作来构建高效、可维护的Web应用程序。 **Spring Framework 4** Spring 是一个全面的Java应用框架,提供依赖注入...
Spring3和Hibernate4的集成可以帮助开发者实现高效、灵活的持久化层管理,并通过声明式事务管理来保证数据的一致性。本教程将深入探讨如何使用XML配置来设置Spring3和Hibernate4的声明式事务管理。 首先,我们需要...
此外,Spring4的DAO支持简化了与各种数据库的交互,包括对Hibernate的集成。 **Hibernate4** 是一个流行的ORM(对象关系映射)框架,它允许开发者使用面向对象的方式来操作数据库。Hibernate4通过映射Java类到...
Spring4、SpringMVC4和Hibernate4是Java开发中非常重要的三个框架,它们分别负责不同的职责,共同构建了一个强大的企业级应用开发环境。Spring4作为核心框架,提供了依赖注入(DI)和面向切面编程(AOP)等功能,极...
同时,通过插件(如Spring插件)将Struts2与Spring集成,实现Action的自动注入。 5. 整合Spring和Hibernate:在Action类中,可以声明由Spring管理的Service层对象,这些对象再调用由Hibernate管理的数据访问层对象...
在本文中,我们将深入探讨如何将Spring 3与Hibernate 3进行集成,以便在Java应用程序中实现高效的数据访问层。Spring作为一个强大的企业级应用框架,提供了丰富的功能,包括依赖注入、AOP(面向切面编程)、事务管理...