0. 前言
本文章所有代码已经上传,可以免费下载了解。
本项目启动的是会自动创建表结构,只需要看客们提供数据库支持。
本文为作者研究时所写,如有错误望指教。
1. 准备
jdk:1.7
eclipse:4.4
maven:3.1.1
spring:4.1.6
hibernate:3.6.10
2. 创建一个maven项目,并配置pom文件
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.xkx</groupId> <artifactId>spring4-hibernate3-demo</artifactId> <packaging>jar</packaging> <version>0.0.1-SNAPSHOT</version> <name>spring4-hibernate3-demo</name> <url>http://maven.apache.org</url> <dependencies> <!-- oracle jdbc --> <dependency> <groupId>oracle</groupId> <artifactId>oracle-ojdbc6</artifactId> <version>1.0</version> <scope>system</scope> <systemPath>${project.basedir}/lib/ojdbc6.jar</systemPath> </dependency> <!-- hibernate --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> <version>3.6.10.Final</version> </dependency> <!-- dbcp连接池 --> <dependency> <groupId>commons-dbcp</groupId> <artifactId>commons-dbcp</artifactId> <version>1.4</version> </dependency> <!-- spring --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.1.6.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>4.1.6.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> <version>4.1.6.RELEASE</version> </dependency> <!-- 测试 --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.10</version> <scope>test</scope> </dependency> </dependencies> <build> <finalName>spring4-hibernate3-demo</finalName> </build> </project>
3. 编写spring配置文件
<?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:p="http://www.springframework.org/schema/p" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd"> <!-- 扫描有注解的文件 base-package 包路径 --> <context:component-scan base-package="org.xkx"/> <bean id="dataSource" 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:orcl" /> <property name="username" value="D_C_XKX" /> <property name="password" value="D_C_XKX" /> <property name="initialSize" value="10" /> </bean> <!-- <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> --> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <property name="dataSource"> <ref bean="dataSource" /> </property> <property name="hibernateProperties"> <value> <!-- 设置数据库方言 --> hibernate.dialect=org.hibernate.dialect.Oracle10gDialect <!-- 是否在控制台显示sql --> hibernate.show_sql=true <!-- 是否格式化sql,优化显示 --> hibernate.format_sql=true <!-- 是否开启二级缓存 --> hibernate.cache.use_second_level_cache=false <!-- 是否开启查询缓存 --> hibernate.cache.use_query_cache=false <!-- 数据库批量查询最大数 --> hibernate.jdbc.fetch_size=50 <!-- 数据库批量更新、添加、删除操作最大数 --> hibernate.jdbc.batch_size=50 <!-- 系统启动时是否对数据库的表进行重建、更新等操作 --> hibernate.hbm2ddl.auto=update </value> </property> <property name="packagesToScan"> <value>org.xkx</value> </property> </bean> <!-- 定义事务管理 --> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes> <tx:method name="find*" read-only="true" propagation="REQUIRED"/> <tx:method name="get*" read-only="true" propagation="REQUIRED"/> <tx:method name="create" propagation="REQUIRED" rollback-for="Exception" /> <tx:method name="delete*" propagation="REQUIRED" rollback-for="Exception" /> <tx:method name="update*" propagation="REQUIRED" rollback-for="Exception" /> <tx:method name="grant*" propagation="REQUIRED" rollback-for="Exception" /> <tx:method name="save*" propagation="REQUIRED" rollback-for="Exception" /> <tx:method name="insert*" propagation="REQUIRED" rollback-for="Exception" /> <tx:method name="someOtherBusinessMethod" propagation="REQUIRES_NEW"/> <tx:method name="*" propagation="SUPPORTS" read-only="true"/> </tx:attributes> </tx:advice> <aop:config> <aop:pointcut id="productServiceMethods" expression="execution(* org.xkx.*..*.*ServiceImpl.*(..))"/> <aop:advisor advice-ref="txAdvice" pointcut-ref="productServiceMethods"/> </aop:config> </beans>
4. JavaBean和service类请参见附件
5. 编写测试类
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("/spring/srping-ctx.xml"); UseAnnotationEntityService useAnnotationEntityService = applicationContext.getBean("useAnnotationEntityServiceImpl", UseAnnotationEntityService.class); for (int i = 0; i < 2; i++) { UseAnnotationEntity useAnnotationEntity = new UseAnnotationEntity(); useAnnotationEntity.setName("姓名" + i); useAnnotationEntity.setAge(i); useAnnotationEntity.setCreateTime(new Date()); useAnnotationEntityService.create(useAnnotationEntity); System.out.println("a"); }
6. 执行测试代码
相关推荐
在本项目"SSH - SpringMVC4 + Spring4 + Hibernate4 + c3p0 + Mysql.zip"中,开发者使用了SpringMVC4作为表现层,Spring4作为控制层和服务层,Hibernate4作为持久层,c3p0作为数据库连接池,以及MySQL作为数据库。...
3. Spring4对Hibernate4的事务管理支持 4. 使用JUnit进行测试驱动开发 5. Eclipse集成开发环境的使用 理解并掌握这些知识点,对于任何Java后端开发者来说都至关重要,因为它们构成了现代企业级应用的基础架构。通过...
Struts2、Spring4和Hibernate是Java开发中的三大框架,它们在构建企业级Web应用程序时起着核心作用。本教程将深入探讨这三个框架如何协同工作,以实现高效、灵活和可扩展的电子商务平台。 首先,Struts2是一个基于...
在Spring4+Hibernate4+SpringMvc的集成项目中,通常会使用Spring的DataSource来配置数据源,然后通过SessionFactory和Session接口进行数据库操作。Hibernate的实体类会通过注解或配置文件与数据库表关联。SpringMvc...
Struts2-Spring4-Hibernate4 XML配置的框架是一个经典的Java Web开发架构,它整合了三个主流的开源框架:Struts2、Spring4和Hibernate4。这个框架的配置主要通过XML文件来完成,同时也可以结合注解的方式进行更加...
在本项目"spring4+springmvc4+hibernate4 整合"中,我们将探讨这三者的集成过程,以及它们如何协同工作来构建高效、可维护的Web应用程序。 **Spring Framework 4** Spring 是一个全面的Java应用框架,提供依赖注入...
本文将深入探讨如何使用Spring4和Hibernate4实现数据库的增删改查操作,以及在这个过程中可能涉及的关键知识点。 首先,Spring4是一个全面的Java应用程序框架,它提供了一种方式来管理组件(或称为bean)之间的依赖...
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="configLocation" value="classpath:hibernate.cfg.xml"/> ...
在本文中,我们将深入探讨如何使用Spring MVC、Spring 4和Hibernate 4构建一个完整的Java Web应用程序框架模板。Spring MVC是Spring框架的一部分,用于处理Web请求,Spring 4提供了全面的依赖注入和企业级服务,而...
开发人员可以通过分析这些文件,了解如何配置Struts2、Spring4和Hibernate4的整合,学习如何在实际项目中应用这三大框架。此外,还可以通过阅读源码,理解它们之间的交互机制,加深对MVC模式和Java Web开发的理解。 ...
压缩包中的"SpringMVC4.3_Spring4_Hibernate5.1.3配置文件"应该包含了所有必要的配置文件,如Spring的bean定义XML文件、Hibernate的配置文件、Web应用的部署描述符(web.xml)等,以及可能的示例代码和测试用例。...
3. 配置Hibernate:在Spring配置文件中,配置Hibernate的SessionFactory,并设置数据库连接信息。同时,需要编写实体类和对应的映射文件(`.hbm.xml`),以便Hibernate能够自动管理数据库表。 4. 配置Struts2:创建...
在Spring配置中定义一个HibernateTransactionManager实例,将SessionFactory注入其中。例如: ```xml <bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager"> ...
4. **配置Hibernate**:设置hibernate.cfg.xml文件,配置数据库连接信息,加载实体类,并指定SessionFactory Bean。使用Spring管理SessionFactory,通过`LocalSessionFactoryBean`配置。 5. **整合步骤**:在Struts...
5. **源码分析**:对于"Spring4+SpringMVC4+Hibernate4整合源码",研究这些源码可以帮助开发者深入理解三大框架的内部工作原理,学习如何配置和使用它们进行实际项目开发。通过源码,你可以看到如何配置Spring的...
此外,还需要配置Hibernate的SessionFactory,使其与Spring的事务管理器配合工作,实现声明式事务管理。 2. **整合Hibernate**:通过Spring的HibernateTemplate或SessionFactoryBean,可以在Spring容器中管理...
在IT行业中,构建高效、可维护的企业级应用是一项复杂任务,而"Spring4+Hibernate4+Maven"的组合提供了一种强大的解决方案。这个组合涵盖了三个核心的技术领域:Spring框架作为应用的基石,Hibernate作为持久层的...
3. 创建Hibernate的配置文件,比如`hibernate.cfg.xml`,配置数据库连接、方言、缓存等。 4. 在MyEclipse中,可以使用"New -> Spring Beans"生成这些配置文件,并自动导入所需的jar包。 对于数据库MySQL,我们需要...
3. **配置Hibernate**:设置`hibernate.cfg.xml`文件,配置数据库连接、实体类映射和SessionFactory。 4. **整合Struts2和Spring**:使用Spring插件或`struts-plugin.xml`来实现Action的Spring Bean注入,使得...