Spring 4.2.5 + Hibernate 4.3.11 + JPA + tomcat 集成

Spring Boot + JPA + MySQL 构建物资管理系统后端实战 在Java企业级应用开发中,对象关系映射(ORM)技术是连接业务逻辑与关系型数据库的关键桥梁。其核心原理是通过框架自动将Java对象映射到数据库表,从而屏蔽底层SQL差异,让开发者能以面向对象的方式操作数据。Spring Data JPA作为基于JPA规范的ORM框架,通过定义Repository接口和注解,极大地简化了数据持久层代码的编写,提升了开发效率并降低了出错率。结合Spring Boot的自动配置和快速启动能力,以及MySQL数据库的事务支持与稳定性,这套技术栈在管理信息系统、电商平台、库存管理等 阅读详情

Spring 4.2.5 + Hibernate 4.3.11 + JPA + tomcat 集成 。本人在eclipse 4.4 上以run on server (Tomcat) 调试通过。


配置文件为:

applicationContext.xml

<?xml version="1.0" encoding="GBK"?>
<!-- Spring配置文件的根元素,使用spring-beans-4.0.xsd语义约束 -->
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://www.springframework.org/schema/beans" xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:cache="http://www.springframework.org/schema/cache" xmlns:p="http://www.springframework.org/schema/p"
    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/context
       http://www.springframework.org/schema/context/spring-context-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/cache 
       http://www.springframework.org/schema/cache/spring-cache-4.0.xsd">
       
     <!-- 定义数据源 bean, 使用3P0  -->
<bean id="ds" class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<!-- 指定连接数据库的驱动 -->
<property name="driverClass" value="com.mysql.jdbc.Driver"/>
<!-- 指定连接数据库的URL -->
<property name="jdbcUrl" value="jdbc:mysql://localhost/javaee"/>
<!-- 指定连接数据库的用户名 -->
<property name="user" value="root"/>
<!-- 指定连接数据库的密码 -->
<property name="password" value="root"/>
<!-- 指定连接数据库连接池的最大连接数 -->
<property name="maxPoolSize" value="40"/>
<!-- 指定连接数据库连接池的最小连接数 -->
<property name="minPoolSize" value="1"/>
<!-- 指定连接数据库连接池的初始化连接数 -->
<property name="initialPoolSize" value="1"/>
<!-- 指定连接数据库连接池的连接的最大空闲时间 -->
<property name="maxIdleTime" value="20"/>
</bean>
<!-- 定义DAO Bean-->
<bean id="userDao" class="app.dao.impl.UserDaoHibernate">
<!-- 注入持久化操作所需的SessionFactory,只能手动注入, name="sessionFactory " 在 HibernateDaoSupport中 -->
<property name="emf" ref="entityManagerFactory"/>
</bean>
<!-- 定义一个业务逻辑组件,实现类为app.service.impl.MyAuthImplBean -->
<bean id="myService" class="app.service.impl.MyAuthImplBean">
<property name="userDao" ref="userDao"/>
</bean>
<!-- 让Spring管理的Action实例 -->
<bean id="springloginAction" class="app.action.LoginAuthAction"
scope="prototype">
<!-- 依赖注入业务逻辑组件 -->
<property name="ms" ref="myService"/>
</bean>
<bean id="jpaVendorAdapter" 
        class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
         <property name="database" value="MYSQL"></property>
         <property name="showSql" value="true" />
         <property name="databasePlatform" value="org.hibernate.dialect.MySQL5Dialect" />
         <!--  相当于  <prop key="hibernate.hbm2ddl.auto">update</prop> -->
         <property name="generateDdl" value="true" /> 
     </bean>
<bean id="entityManagerFactory" 
     class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean" >
     <property name="dataSource" ref="ds"></property>
          <property name="persistenceXmlLocation" value="classpath*:/persistence.xml" />
          <property name="persistenceUnitName" value="user_unit"/> 
          <property name="jpaVendorAdapter" ref="jpaVendorAdapter"></property>
      </bean>
       
     <bean id="jpaDialect"
        class="org.springframework.orm.jpa.vendor.HibernateJpaDialect">
    </bean>
     <bean id="txManager" class="org.springframework.orm.jpa.JpaTransactionManager"> 
           <property name="entityManagerFactory" ref="entityManagerFactory"/> 
           <property name="jpaDialect" ref="jpaDialect"></property>
     </bean> 
     
      <!-- Bean's use annotation (@Transactional) to demark transaction  -->
      <tx:annotation-driven transaction-manager="txManager"/>
</beans>





persistence.xml


<?xml version="1.0" encoding="GBK"?>
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence 
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
<!-- 为持久化单元指定名称,并通过transaction-type指定事务类型
transaction-type属性合法的属性值有JTA、RESOURCE_LOCAL两个-->
<persistence-unit name="user_unit" transaction-type="RESOURCE_LOCAL">
<!-- 列出该应用需要访问的所有的Entity类, 
也可以用 <mapping-file> 或<jar-file>元素来定义 -->
<class>app.domain.User</class>
</persistence-unit>
</persistence>


struts.xml


<?xml version="1.0" encoding="GBK"?>
<!-- 指定Struts 2配置文件的DTD信息 -->
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
"http://struts.apache.org/dtds/struts-2.1.7.dtd">
<!-- Struts 2配置文件的根元素 -->
<struts>
<!-- 配置了系列常量 -->
<constant name="struts.i18n.encoding" value="GBK"/>
<constant name="struts.devMode" value="true"/>
<package name="MySpringAndStrutsAndHibernate" extends="struts-default">
<!-- 定义处理用户请求的Action,该Action的class属性不是实际处理类
, 而是Spring容器中的Bean实例-->
<action name="fakeloginAuth" class="springloginAction">
<!-- 为两个逻辑视图配置视图页面 -->
<result name="error">/WEB-INF/content/error.jsp</result>
<result name="success">/WEB-INF/content/welcome.jsp</result>
</action>
<!-- 让用户直接访问该应用时列出所有视图页面 -->
<action name="*">
<result>/WEB-INF/content/{1}.jsp</result>
</action>
</package>
</struts>


web.xml

<?xml version="1.0" encoding="GBK"?>

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener
</listener-class>
  </listener>
  <filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
</web-app>





Spring Boot 核心机制与实战:从自动装配到 MySQL、Redis、Security 集成 在 Java Web 开发领域,Spring Boot 通过其核心机制——自动装配(Auto-Configuration)和 Starter 依赖,极大地简化了企业级应用的构建与部署流程。自动装配的原理在于,框架根据项目引入的依赖和现有配置,智能地装配所需的 Spring Bean,实现了“约定大于配置”的理念。这一机制的技术价值在于,它将开发者从繁琐的 XML 配置和依赖管理中解放出来,显著提升了开发效率,并确保了应用的生产就绪性。其应用场景广泛覆盖了 Web 服务、数据访问、缓存和安全认证等现代应用的核 阅读详情

相关推荐

JeecgBoot 3.8.3低代码平台组织架构与Spring Boot 3升级实战

低代码开发平台通过可视化编程和模块化组件,显著提升企业级应用开发效率。其核心原理在于抽象通用业务逻辑,结合元数据驱动实现快速配置。在技术价值层面,低代码平台能降低60%以上的开发成本,尤其适合OA、ERP等管理系统开发。Spring Boot作为现代Java开发框架,其3.x版本引入虚拟线程等创新,使并发处理能力提升3倍。JeecgBoot 3.8.3版本深度融合这两项技术,通过重构组织架构模型支持多级子公司管理,并完整适配Spring Boot 3特性。在金融、制造等行业实践中,该方案使权限配置效率提升4

weixin_33889245的博客 1043

进退两难的Spring3+JPA2+Tomcat8

spring 3.2.x+jpa2.1+eclipselink jpa 2.6+tomcat8+jdk8

xiaofanku的专栏 1436

【SpringBoot 3.x 第58节】Spring Boot 3.x 惊魂升级记:从 Javax 到 Jakarta,你准备好迎接这场“改名风波”了吗?

🏆本文收录于《滚雪球学SpringBoot 3》,专门攻坚指数提升,本年度国内最系统+最专业+最详细(永久更新)。    本专栏致力打造最硬核 SpringBoot3 从零基础到进阶系列学习内容,🚀均为全网独家首发,打造精品专栏,专栏持续更新中…欢迎大家订阅持续学习。 如果想快速定位学习,可以看这篇【SpringBoot3教程导航帖】,你想学习的都被收集在内,快速投入学习!!两不误。    若还想学习更多,可直接前往《滚雪球学SpringBoot(全版本合集)》,涵盖SpringBoot所有版本教学文章

**My Coding Family** 1464

Spring4 + Hibernate4集成Spring Data JPA

1.添加依赖包: spring和hibernate的包还是好找的,记得加入hibernate/lib/jpa里面的jar包,接着最麻烦的事jpa了,需要添加spring-data的jar包了,给个网址吧:下载spring-data 我们需要的是spring-data-commons和spring-data-jpa,记得 如果包倒入的不对的话,会出现包冲突的一场,我个人使用的是commoms-1

太匆匆 6318

置顶必读(1) |《滚雪球学 Spring Boot 4.x》专栏目录导航篇(持续更新中)!

🏆 本文收录于 《滚雪球学 Spring Boot 4.x》 专栏。 本专栏面向 有一点 Java 基础,但没有系统学过 Spring Boot 的读者,采用“滚雪球式学习法”:先跑通、再理解、再重构、再上线,最终带你从第一个 Hello API 一路完成一个可部署、可监控、可扩展的后端项目。

**My Coding Family** 8万+

【SpringBoot 4.x 第1节】夯爆了,为什么现在要学 Spring Boot 4.x?从零开始理解版本体系、核心变化与真实项目开发路线(超详解)!

🏆 本文收录于 《滚雪球学 Spring Boot 4.x》 专栏。 本专栏面向 有一点 Java 基础,但没有系统学过 Spring Boot 的读者,采用“滚雪球式学习法”:先跑通、再理解、再重构、再上线,最终带你从第一个 Hello API 一路完成一个可部署、可监控、可扩展的后端项目。

**My Coding Family** 1万+

JDK1.8+Spring5.6+Hibernate4.3+Struts2 2.5+Tomcat9 系统软件升级全过程 以及问题解决

首先,不得不吐槽一下,现在还在用这些技术,真的稍微有点落后了。无奈自己遇上了这样的事情,面对复杂的JSP页面以及烦琐的配置文件,真得让人看着就头大。刚接手到这个任务的时候,我一直在想,前后端分离加微服务它不香嘛?但是面对业务及种种原因,最后还是决定对现有的系统进行一下软件版本的升级。废话不多说了,这种事情既然让我遇上了,就要认真负责的干好。下面就开始记录一下项目升级的全过程。 一、...

weixin_42300551的博客 2242

Maven整合Spring+SpringMVC+Hibernate+SpringDataJPA

Maven整合Spring+SpringMVC+Hibernate+SpringDataJPA

Spring Boot 3.x + JDK 17 迁移实战:架构级重构指南

Spring Boot 3.x 与 JDK 17 的升级并非简单版本迭代,而是基于 Jakarta EE 9+ 命名空间迁移、模块化(JPMS)、ZGC 垃圾回收器和响应式内核(WebFlux)等底层技术演进的系统性重构。其核心原理在于 Java 生态契约的重定义:从 javax.* 到 jakarta.* 的 API 断层、类加载机制变化、反射限制强化(--illegal-access=deny),以及 JVM 字节码规范(class file major version 61)与编译目标(maven.c

weixin_30576827的博客 413

Hibernate连接Mycat例子详解

使用Java持久层框架Hibernate连接Mycat分布式数据库中间件的简单例子详解,包含完整实例源码、编译代码所需的全部Lib库文件,说明文档,以及数据库相关SQL文件。

springmvc4+hibernate4 jpa实现整合(含jar包)

通过参考和引用传智播客的免费教程,将springmvc4.1.6与hibernate4.3.10提供的JPA实现整合,使用mysql5.6.25,在MyEclipse2014中测试通过。可以作为web开发的基础框架使用。 使用说明: 1.需要安装mysql,并创建名为mysqltest的数据库,相关数据库连接及登录用户名及密码在src中的db.properties中修改,。 2.po中的items使用jpa注解。 3.运行测试程序itemtest中的save方法就可以自动创建items表并添加测试数据。 4.ItemsService是Items的相关操作接口,ItemsServerImpl是接口实现,注意jpa注解。 5.ItermController是springmvc Controller的实现。 6./WEB-INF/jsp/items/itemsList.jsp是Items web的视图 7.注意web.xml,spring.xml,spring.xml,db.properties,persistence.xml文件的配置。 写了这么多,很辛苦,若对你有帮助,请给好评。

Spring Boot 2.1.0新特性

第三方库更新 以下是更新的第三方库及版本信息: Hibernate 5.3 Micrometer 1.1 Reactor Californium Spring Data Lovelace Spring Framework 5.1 Tomcat 9 Undertow 2 性能改善 优化应用程序启动速度,启动时占用的内存更少。 在Spring Data JPA中设置spring.data. JPA...

2的32次方 5558

spring4.2与Hibernate4.3配置

spring4.2与Hibernate4.3配置

Spring Boot 升级全攻略:从 2.2 到 2.7 再到 3.x

本文档详细阐述了Spring Boot框架从2.2.x到2.7.x再到3.x版本的升级方案。

真实的菜的博客 848

spring4.2+spring mvc +spring data+jpa+hibernate的程序构架

spring4.2+spring mvc +spring data+jpa+hibernate的程序构架

复合材料热压罐固化残余应力仿真与优化

复合材料在热压罐固化过程中产生的残余应力是影响构件性能的关键因素,尤其在航空航天和风电叶片等高端制造领域。通过多物理场耦合仿真技术,可以精确预测残余应力分布,优化工艺参数。顺序耦合方法分步求解热分析和结构分析,既保证了计算精度,又控制了成本。Abaqus等有限元工具在此过程中发挥重要作用,通过合理设置边界条件、材料属性和接触关系,能够有效模拟温度场和应力场的相互作用。工程实践中,这种仿真方法已成功应用于无人机机翼、卫星支架等实际项目,显著降低了固化变形和微裂纹风险。

weixin_33146151的博客 214

【开发笔记】JAVA工程升级的差异对比(Spring MVC 4.3.8+Hibernate 5.2.10)

1,前言 旧工程(jdk 6.0,Tomcat 6.0):Spring MVC 3.1.0,Hibernate 4.0.1,Spring Data Jpa 1.5.3,solrj 4.7.2 改造后的工程(jdk 8.0,Tomcat 8.5):Spring MVC 4.3.8,Hibernate 5.2.10,Spring Data Jpa 1.11.3,solrj 6.5.0,jedis

foo1st的专栏 1228

概述DeepLab系列(deeplab v1, deeplab v2, deeplab v3, deeplab v3+)

前言:图像分割是指像素级别的图像识别,即标注出图像中每个像素所属的对象类别。 语义分割更注重类别之间的区分,而实例分割更注重个体之间的区别。 DeepLab是由Google团队提出的一系列图像分割算法。 DeepLab v1 (2014年) Paper (ICLR 2015) Code 创新点: 空洞卷积(Atrous Conv); <解决编码过程中信号不断被下采样,细节丢失的问题> 全连接条件随机场(Fully-connected Conditional Random Field)。

ZSH12345678900的博客 5528

cas入门之三十二: jpa ticketregistry在实际应用的一个bug

项目所应用的cas 3.5.2,运行环境为tomcat7.0.52. 因项目需要,所以将cas ticket经jpa持久化到oracle 11g 数据库。根据这个cas 3.5.2的pom.xml文件,所应用的hibernate jar罗列如下: hibernate-commons-annotations-4.0.1.Final.jar hibernate-core-4.1.0.Final.

snoopy 5830

C#上位机实战:PLC与检测设备无缝对接,构建产品质量实时判定系统

本文分享了基于C#开发的汽车零部件质量检测系统实现经验。系统采用三层架构:设备层(PLC/视觉相机/三坐标)、通信层(OPC UA/SDK/串口)和应用层(数据采集/判定/存储)。重点解决了三大技术难点:1)通过OPC UA订阅模式将PLC通信延迟从500ms降至50ms;2)反编译厂商Demo破解视觉SDK对接难题;3)采用时间戳+产品ID实现多设备数据同步。系统上线后质检人员减少67%,误判率降至0.5%,数据追溯效率显著提升。文章强调工业场景下稳定性优先于技术复杂度,实用经验值得借鉴。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 799

生成式AI;语义通信技术;生成式AI辅助的云边协同算法及其可解释性

生成式AI 语义通信技术 生成式AI辅助的云边协同算法及其可解释性 一、端到端设计的物理层内生智能 二、生成式语义通信 三、生成式数字孪生网络 四、生成式AI辅助的云边协同算法及其可解释性 五、未来可能的研究方向

ZhangJiqun&191cm&85kg 425

Spring Framework 3.1.3 是 Spring 框架的一个维护性小版本(maintenance release)

Spring Framework 3.1.3 是 Spring 框架的一个维护性小版本(maintenance release),发布于 2012 年 11 月 21 日。该版本主要聚焦于**缺陷修复(bug fixes)** 和**稳定性增强**,不引入新特性或重大 API 变更,属于 3.1.x 分支的补丁更新。它兼容 Java 5+ 和 Servlet 2.5+,并支持 Spring 3.1 引入的核心功能,如:

[Blog][Domain] programb.blog.youkuaiyun.com 426

AI上推荐 之 逻辑回归模型与GBDT+LR(特征工程模型化的开端)

1. 前言 随着信息技术和互联网的发展, 我们已经步入了一个信息过载的时代,这个时代,无论是信息消费者还是信息生产者都遇到了很大的挑战: 信息消费者:如何从大量的信息中找到自己感兴趣的信息? 信息生产者:如何让自己生产的信息脱颖而出, 受到广大用户的关注? 为了解决这个矛盾, 推荐系统应时而生, 并飞速前进,在用户和信息之间架起了一道桥梁,一方面帮助用户发现对自己有价值的信息, 一方面让信息能够展现在对它感兴趣的用户前面。 推荐系统近几年有了深度学习的助推发展之势迅猛, 从前深度学习的传统推荐模型(协

Miracle8070 8251
上一篇: 升级hibernate>4,spring>3.1笔记
下一篇: 使用Spring框架写JPA程序
大树叶
博客等级 码龄12年 1171粉丝 664原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值