1. 程式人生 > >關於Spring/Hibernate 3.x升級4.x的小問題

關於Spring/Hibernate 3.x升級4.x的小問題

情景:

之前版本 現在版本
JDK 1.7 1.8
Tomcat v7.0 v8.0
Spring 3.x 4.x
Hibernate 3.x 4.x
MySQL 忘了 5.1.53

分析:

如果升級版本錯誤,就是這幾處的問題。

問題1:

我使用Spring3.X --- jdk8----出現瞭如下問題:

java.lang.IllegalArgumentException
     org.springframework.asm.ClassReader.<init>(Unknown Source)
     org.springframework.asm.ClassReader.<init>(Unknown Source)
     org.springframework.asm.ClassReader.<init>(Unknown Source)
原因:Spring3.X --- jdk8不相容
解決:

  一:把jdk版本換成1.7 or 1.7以下

  二:使用spring-4.0-RELEASE及以上版本

問題2:

Spring4.x的事務管理沒有起作用。

解決:(以下是我碰到的問題解決方法,當然還有其它解決方法我沒有列出)

    <!-- 使用FactoryBean建立Spring得到 SessionFactory -->
    <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
          <!-- 把hibernate.cfg.xml檔案中的配置資訊注入進來,從而可以刪掉配置檔案
--> <property name="dataSource" ref="dataSource"></property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</prop> <
prop key="javax.persistence.validation.mode">none</prop> <prop key="hibernate.show_sql">true</prop> <prop key="hibernate.format_sql">true</prop> <prop key="hibernate.hbm2ddl.auto">update</prop> <prop key="hibernate.current_session_context_class">org.springframework.orm.hibernate4.SpringSessionContext</prop> </props> </property> <property name="mappingLocations" value="classpath:king/domain/*.hbm.xml"></property> </bean>

①如果你的MySQL的版本改動了,這個屬性也可能會隨著改動。

原因:

如果表的型別為MyISAM,則sping裡配置的事務是不起作用的,所以要使用InnoDB型別的表,因為這個型別的表才支援事務。

②3.x時這一處我們都會寫thread,4.x要寫成SpringSessionContext。

相關推薦

關於Spring/Hibernate 3.x升級4.x問題

情景: 之前版本 現在版本 JDK 1.7 1.8 Tomcat v7.0 v8.0 Spring 3.x 4.x Hibernate 3.x 4.x MySQL 忘了 5.1.53 分析: 如果升級版本錯誤,就是這幾處的問題。 問題1: 我使用Spring3.X --- j

N天一個linux命令 [3]centos升級php5.x

1.檢查當前安裝的PHP包 如果想刪除上面安裝的包,重新安裝 rpm -qa | grep webstatic rpm -e 上面搜尋到的包即可 3.執行yum install yum install php55w.x86_64 php55w

[札記]SSM開發框架整合問題,Spring4.3.x+Mybatis3.4.x+SpringMVC整合時遇到的jason轉換問題

近期使用自己配置的SSM框架進行web專案開發是遇到了一點問題,在專案沒有使用Maven的情況下遇到: 因為之前使用同一框架,基於Java7+Tomcat7進行開發,配置沒有問題可正常開發實現spr

多多客DOODOOKE 1.x升級2.x指南

contex control 商品 ont 重構 直接 req 訂單 quest 溫馨提示 本教程是1.x升級2.x手動升級指南。由於本次更新涉及到主框架更新,因此本次更新先提供手動升級指南。後續根據情況再進行推送升級。 | 2.x版本引入了npm包管理工具lerna,系統

推薦: Redis 叢集的安裝(Redis4.0.x +CentOS7.4.x

一、參考文件 二、Redis 叢集的安裝(Redis 4.0.6 + CentOS 7.3.x) 1、叢集規劃 要讓 Redis4.x  叢集正常工作至少需要 3 個 Master 節點, 要想實現高可用, 每個 Master 節點要配備至少 1 個 Slave 節

zabbix 3.4.x 二進制包升級至 Zabbix 4.0

正常 postgresq 日誌 磁盤空間 log dup enter art fields Zabbix 3.4.x 二進制包升級至 Zabbix 4.0 1、官方文檔 Red Hat Enterprise Linux/CentOS:https://www.zabbix.c

liferay 6.2 主題bootrap 2.3.2升級3.x

3.2 import com theme ora all liferay them ots liferay 6.2 主題bootrap 2.3.2升級到3.x 1、新建主題 login-theme    2、下載bootstrap3.+ 源碼

《精通Spring+4.x++企業應用開發實戰》讀後感

來講 ring 如果 項目 企業 xml配置 登錄 了解 能夠 引言 還記得大三時上培訓班的是時候,當時的培訓老師說自己是本地講解spring最好的講師,但是後來等我實習了看了《Spring 3.x 企業應用開發實戰》以及後續版本《精通Spring+4.x++企業應用開發實

Spring 4.x 之 Test

    測試是開發工作中不可缺少的部分, 單元測試只針對當前開發的類和方法進行測試,可以簡單的模擬依賴來實現,對環境沒有依賴.但僅僅進行單元測試是不夠的,他只能驗證當前類或方法是否正常工作,而我們想知道系統的各部分組合在一起是否能正常工作,這就是整合測試存在的意義. Spri

centos7.5升級Python2.x3.x

首先檢視當前Python版本 python -V wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz tar -xf Python-3.6.5.tgz cd Python-3.6.5/ ./configure 此時可能會報錯,原因是

express 4.X.X版本 npm版本3.X.X版本以上 沒有layout.js檔案的解決方法 頁面佈局設定的方法

這是我所使用的版本 因為看的書是<<node js程式設計指南>> 此書版本過於陳舊,所以上面的步驟無法進行下去,例如書上所寫 "app.set('view.option',layout:false)";可以關掉頁面佈局.但是我發現用view.option

Spring Security 4.x -> 5.x 踩坑記錄

1. AuthenticationManager無法自動注入 在實現AbstractAuthenticationProcessingFilter重寫以使用者名稱、密碼認證時,需要顯示注入AuthenticationManager,不然會報如下錯誤: Caus

精通Spring+4.x++企業開發與實踐之SpEL

java支援動態語言javascript 例子: ScriptEngineManager manager = **new** ScriptEngineManager(); ScriptEngine engine = manager.getEngineByName(**"JavaScript"

精通Spring+4.x++企業開發與實踐之基於@AspectJ和Schema的AOP

#  精通Spring+4.x++企業開發與實踐之基於@AspectJ和Schema的AOP 使用@AspectJ的條件 1.保證是java5以上的版本(需要使用註解,而java5及以上才使用註解) 2.需要將Spring的asm(輕量級的位元組碼處理框架)的模組新增

精通Spring+4.x++企業開發與實踐之SpringAOP基礎

AOP概述 AOP的簡稱"Aspect Oriented Programing"的簡稱———面向切面程式設計。 AOP術語 連線點 一個類或者一段程式程式碼用於一些具有邊界性質的特性的特定點。這些程式碼的特定點就被成為"連線點"。Spring只支援方法的連線點,即僅能在方法呼叫前,方

精通Spring+4.x++企業開發與實踐之Spring容器高階主題

Spring容器高階主題 內部工作機制 Spring的AbstractApplicationContext是ApplicationContext的抽象實現類,該抽象類的refresh()方法定義了Spring容器在載入配置檔案後的各項處理過程這些處理過程清晰的刻畫了Spring容器啟動時所執

精通Spring+4.x++企業開發與實踐之IoC容器中裝配Bean

Spring配置概述 Spring屬性注入 JavaBean關於屬性命名的特殊規範 Spring配置檔案中的<property></property>元素所指定的屬性名和Bean實現類的Setter方法滿足Sun JavaBean的屬性命名規範:xxx的屬性對應的

精通Spring+4.x++企業開發與實踐之IOC容器

#IOC容器 #類裝載器ClassLoader 尋找類的位元組碼檔案並構造出類再JVM內部標識物件的元件。再Java中, 類裝載器吧一個類裝入JVM,需要入如步驟: (1)裝載:查詢和匯入Class檔案. (2)連結:執行校驗,準備和解析步驟,其中解析步驟是可以選擇的。 1.準備:給

精通Spring+4.x++企業開發與實踐學習之SpringBoot

#SpringBoot 在SpringBoot1.2以前使用@Configuration,@ComponentScan,@EnableAutiCofiguration註解標識啟動類,到了SpringBoot1.2時,直接使用@SpringBootApplication代替。 #