bean.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" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd"> <context:component-scan base-package="com.test"></context:component-scan> <bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/> <property name="url" value="jdbc:oracle:thin:@localhost:1521:oralsb"/> <property name="username" value="scott"/> <property name="password" value="tiger"/> </bean> <!-- annotation版 --> <bean id="mySessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <property name="dataSource" ref="myDataSource"/> <property name="annotatedClasses"> <list> <value>com.test.model.User</value> </list> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.Oracle9iDialect</prop> <prop key="hibernate.show_sql">true</prop> <prop key="hibernate.format_sql">true</prop> <prop key="hibernate.hbm2ddl.auto">create</prop> </props> </property> </bean> </beans>
模型类
User.java
package com.test.model; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.Table; @Entity @Table(name="t_user") public class User { private int id; private String name; @Id @GeneratedValue public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
接口
UserDAO.java
package com.test.dao; import com.test.model.User; public interface UserDAO { public void save(User user); }
实现接口类
UserDAOImpl.java
package com.test.dao.impl; import javax.annotation.Resource; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.springframework.stereotype.Component; import com.test.dao.UserDAO; import com.test.model.User; @Component("userDAOImpl") public class UserDAOImpl implements UserDAO { private SessionFactory sessionFactory; public SessionFactory getSessionFactory() { return sessionFactory; } @Resource(name = "mySessionFactory") public void setSessionFactory(SessionFactory sessionFactory) { this.sessionFactory = sessionFactory; } public void save(User user) { Session session = sessionFactory.openSession(); session.beginTransaction(); session.save(user); session.getTransaction().commit(); session.close(); } }
服务类
UserService.java
package com.test.service; import javax.annotation.Resource; import org.springframework.stereotype.Component; import com.test.dao.UserDAO; import com.test.model.User; @Component("userService") public class UserService { private UserDAO userDAO; public void add(User user) { userDAO.save(user); } public UserDAO getUserDAO() { return userDAO; } // 这里会找注解Component的值为:userDAOImpl的那个类 @Resource(name="userDAOImpl") public void setUserDAO(UserDAO userDAO) { this.userDAO = userDAO; } }
Junit测试类
UserServiceTest.java
package com.test.service; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import com.test.model.User; public class UserServiceTest { @Test public void testAdd() throws Exception { ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans.xml"); UserService service = (UserService) applicationContext.getBean("userService"); User u = new User(); u.setName("张三"); service.add(u); } }
相关推荐
Spring 和 Hibernate 的整合是企业级 Java 应用开发中的常见实践,它将 Spring 框架的控制反转(IoC)和面向切面编程(AOP)优势与 Hibernate 的持久化能力相结合,提供了更高效、灵活的数据库操作。下面我们将深入...
标题"完整版spring hibernate整合采用annotation"指的是使用注解的方式将Spring和Hibernate进行集成。这种方式相比传统的XML配置更为简洁,减少了大量配置文件,提高了代码的可读性和维护性。 首先,我们需要理解...
整合SpringMVC、Spring和Hibernate通常涉及以下几个步骤: 1. **配置pom.xml**:引入所需的库依赖,如Spring、SpringMVC、Hibernate、MySQL驱动等。 2. **创建Spring配置文件**:定义Bean,包括DataSource、...
整合Struts2、Spring和Hibernate的过程中,通常会采用Spring的ApplicationContext来初始化和管理Bean,包括Struts2的Action类和Hibernate的SessionFactory。Spring的AOP(面向切面编程)功能还可以用于事务管理,...
在Struts2、Spring、Hibernate整合的项目中,Maven的配置文件pom.xml会列出所有必需的库,并定义构建过程。 整合这三个框架,通常需要以下步骤: 1. 配置Struts2的核心过滤器,并设置Spring和Hibernate的配置文件...
这个简单的示例展示了Spring和Hibernate整合的基本流程,实际项目中可能还需要考虑更多的细节,如异常处理、事务策略等。 总结来说,Spring与Hibernate的整合使得Java开发人员能够更方便地管理数据库操作,并利用...
5. **整合Spring和Hibernate**:使用Spring的HibernateDaoSupport类或JpaTemplate来简化DAO层的代码,通过Spring管理SessionFactory或EntityManagerFactory。 6. **测试和运行**:编写JUnit测试,验证各个组件是否...
**整合Spring和Hibernate** 在Spring和Hibernate的集成中,我们通常会使用Spring的`LocalSessionFactoryBean`来创建Hibernate的Session工厂,并配置数据源、实体扫描路径以及Hibernate的属性。此外,还可以使用`...
Struts2、Spring2.5和Hibernate3是Java Web开发中的三大框架,它们的整合是构建企业级应用的常见方式。这个"Struts2+Spring2.5+Hibernate3+annotation 整合程序"旨在展示如何将这三大框架与注解(Annotation)技术...
### Struts2+Spring2+Hibernate3+Annotation所需JAR包详解 在Java Web开发领域,Struts2、Spring2和Hibernate3是三个非常重要的框架,它们分别负责Web层、业务逻辑层和服务持久化层的功能实现。为了更好地整合这三...
SSH三大框架,即Struts、Spring和Hibernate,是Java Web开发中的常用技术组合,它们各自负责不同的职责:Struts作为MVC模式中的Controller层,处理用户请求并转发到相应的业务逻辑;Spring则作为核心容器,负责依赖...
在`Spring_1800_Spring_Hibernate_Transaction_Annotation`这个压缩包文件中,很可能包含了使用注解方式实现Spring整合Hibernate事务处理的相关示例代码和配置文件。通过阅读和理解这些代码,你可以更好地掌握这一...
本文将详细解析"Struts2+Spring2+Hibernate3 Annotation的整合"这一主题,主要涵盖以下几个方面: 1. **Struts2框架**:Struts2是一个基于MVC设计模式的Web应用框架,用于简化Java Web应用程序的开发。它的主要功能...
Struts2、Spring2和Hibernate3是Java Web开发中的三个重要框架,它们分别负责MVC模式中的Action层、业务逻辑层和服务数据访问层。将这三个框架整合在一起,可以实现高效、松耦合的Web应用程序。这里我们将深入探讨...
"Spring+Hibernate整合"意味着将这两个框架结合在一起,以便在一个项目中同时利用它们的优势。整合的主要目标是让Spring管理Hibernate的数据访问层,这样可以更好地控制事务、提高代码的可测试性,并且减少重复的...