1. 程式人生 > >Spring3與hibernate4集中式宣告事務管理與註解式事務管理

Spring3與hibernate4集中式宣告事務管理與註解式事務管理

雖然只加了這麼幾個包,但是來看看maven幫我們新增的最終依賴包,從這就可以看出maven管理專案的好處:
雖然不是每個包都被用到但是這樣就會減少管理jar的繁瑣,況且也可以手動的刪除這些jar,maven還是很不錯吧!
[INFO]    antlr:antlr:jar:2.7.7:compile
              一個語言轉換工具,Hibernate利用它實現 HQL 到 SQL 的轉換    
[INFO]    aopalliance:aopalliance:jar:1.0:compile
             包含了針對面向切面的介面。
[INFO]    com.alibaba:druid:jar:0.2.25:compile
              阿里巴巴開發的一個高效的資料庫連線池:druid。

[INFO]    commons-logging:commons-logging:jar:1.1.1:compile
             是使用Spring-core.jar的必備包
[INFO]    dom4j:dom4j:jar:1.6.1:compile
              dom4j XML 解析器
[INFO]    junit:junit:jar:4.11:compile
              測試工具
[INFO]    mysql:mysql-connector-java:jar:5.1.26:compile
              連線mysql外掛

[INFO]    org.aspectj:aspectjweaver:jar:1.7.3:compile
               切面用到的包,也就是AOP
[INFO]    org.hamcrest:hamcrest-core:jar:1.3:compile
              是junit的依賴包,在4.11這個版本里,不包含這個包,4.8版本就不需要這個包
[INFO]    org.hibernate:hibernate-core:jar:4.2.5.Final:compile
                hibernate核心包
[INFO]    org.hibernate.common:hibernate-commons-annotations:jar:4.0.2.Final:compile
               hibernate的annotation必備包

[INFO]    org.hibernate.javax.persistence:hibernate-jpa-2.0-api:jar:1.0.1.Final:compile
               實體類中使用的註解都是在這個JAR包中定義的
[INFO]    org.javassist:javassist:jar:3.15.0-GA:compile
              程式碼生成工具, Hibernate用它在執行時擴充套件 Java類和實現,同cglib
[INFO]    org.jboss.logging:jboss-logging:jar:3.1.0.GA:compile
               Hibernate的預設包
[INFO]    org.jboss.spec.javax.transaction:jboss-transaction-api_1.1_spec:jar:1.0.1.Final:compile
               Hibernate的預設包
[INFO]    org.springframework:spring-aop:jar:3.2.4.RELEASE:compile
              這個jar檔案包含在應用中使用Spring的AOP特性時所需的類。使用基於AOP的Spring特性,如宣告型事務管理(Declarative Transaction Management  ),也要在應用裡包含這  個jar包。 
[INFO]    org.springframework:spring-beans:jar:3.2.4.RELEASE:compile
              這個jar檔案是所有應用都要用到的,它包含訪問配置檔案、建立和管理bean以及進行Inversion of Control / Dependency Injection(IoC/DI)操作相關的所有類。
              springIoC(依賴注入)的基礎實現
              如果應用只需基本的IoC/DI支援,引入spring-core.jar及spring-beans.jar檔案就可以了。

[INFO]    org.springframework:spring-context:jar:3.2.4.RELEASE:compile
               spring 提供在基礎 IoC 功能上的擴充套件服務,此外還提供許多企業級服務的支援,如 郵件 
             服務、任務排程、JNDI定位、EJB 整合、遠端訪問、 快取以及各種檢視層框架的封裝等。

[INFO]    org.springframework:spring-core:jar:3.2.4.RELEASE:compile
              這個jar檔案包含Spring框架基本的核心工具類,Spring其它元件要都要使用到這個包裡的類,是其它元件的基本核心,當然你也可以在自己的應用系統中使用這些工具類。
[INFO]    org.springframework:spring-expression:jar:3.2.4.RELEASE:compile
              spring 表示式語言也就是 spel表示式
[INFO]    org.springframework:spring-jdbc:jar:3.2.4.RELEASE:compile
              這個jar檔案包含對Spring對JDBC資料訪問進行封裝的所有類。
[INFO]    org.springframework:spring-orm:jar:3.2.4.RELEASE:compile
              這個jar檔案包含Spring對DAO特性集進行了擴充套件,使其支援 iBATIS、JDO、OJB、TopLink,因為Hibernate已經獨立成包了,現在不包含在這個包裡了。這個jar檔案裡大部分的類都        要依賴 spring-dao.jar裡的類,用這個包時你需要同時包含spring-dao.jar包。 
[INFO]    org.springframework:spring-tx:jar:3.2.4.RELEASE:compile
             也就是spring對於事務的一些管理


  雖然我們這個案例有很多沒有用到的jar,但是不管怎麼樣至少我們不用對用哪個jar而煩心了,但是maven的新增也是由於根據包裡所必須的類或方法而新增的雖然我們不用。



再來看一看包之間的依賴關係:
[INFO] +- junit:junit:jar:4.11:compile
[INFO] |  \- org.hamcrest:hamcrest-core:jar:1.3:compile
[INFO] +- mysql:mysql-connector-java:jar:5.1.26:compile
[INFO] +- com.alibaba:druid:jar:0.2.25:compile
[INFO] +- org.springframework:spring-context:jar:3.2.4.RELEASE:compile
[INFO] |  +- org.springframework:spring-aop:jar:3.2.4.RELEASE:compile
[INFO] |  +- org.springframework:spring-beans:jar:3.2.4.RELEASE:compile
[INFO] |  +- org.springframework:spring-core:jar:3.2.4.RELEASE:compile
[INFO] |  |  \- commons-logging:commons-logging:jar:1.1.1:compile
[INFO] |  \- org.springframework:spring-expression:jar:3.2.4.RELEASE:compile
[INFO] +- org.springframework:spring-orm:jar:3.2.4.RELEASE:compile
[INFO] |  +- aopalliance:aopalliance:jar:1.0:compile
[INFO] |  +- org.springframework:spring-jdbc:jar:3.2.4.RELEASE:compile
[INFO] |  \- org.springframework:spring-tx:jar:3.2.4.RELEASE:compile
[INFO] +- org.hibernate:hibernate-core:jar:4.2.5.Final:compile
[INFO] |  +- antlr:antlr:jar:2.7.7:compile
[INFO] |  +- org.jboss.logging:jboss-logging:jar:3.1.0.GA:compile
[INFO] |  +- dom4j:dom4j:jar:1.6.1:compile
[INFO] |  +- org.jboss.spec.javax.transaction:jboss-transaction-api_1.1_spec:jar:1.0.1.Final:compile
[INFO] |  +- org.hibernate.common:hibernate-commons-annotations:jar:4.0.2.Final:compile
[INFO] |  \- org.javassist:javassist:jar:3.15.0-GA:compile
[INFO] +- org.aspectj:aspectjweaver:jar:1.7.3:compile
[INFO] \- org.hibernate.javax.persistence:hibernate-jpa-2.0-api:jar:1.0.1.Final:compile
 
明白了吧!!是不是對jar不是那麼畏懼啦!!

相關推薦

Spring3hibernate4中式宣告事務管理註解事務管理

雖然只加了這麼幾個包,但是來看看maven幫我們新增的最終依賴包,從這就可以看出maven管理專案的好處: 雖然不是每個包都被用到但是這樣就會減少管理jar的繁瑣,況且也可以手動的刪除這些jar,maven還是很不錯吧! [INFO]    antlr:antlr:jar:2.7.7:compile    

gitsvn 中式分布

svn git 集中式vs分布式Linus一直痛恨的CVS及SVN都是集中式的版本控制系統,而Git是分布式版本控制系統,集中式和分布式版本控制系統有什麽區別呢?先說集中式版本控制系統,版本庫是集中存放在中央服務器的,而幹活的時候,用的都是自己的電腦,所以要先從中央服務器取得最新的版本,然後開始幹活,

何為中式版本控制系統分散式版本控制系統?

什麼是集中式版本控制系統與分散式版本控制系統?    集中式版本控制系統:版本庫是集中放在中央伺服器的,當我們實際工作的時候,用的都是自己的電腦,所以首先要連線中央伺服器,從那裡得到最新的版本,然後編寫

使用SpringAOP實現事務(聲明事務管理、零配置)

特定 管理器 表示 可能 事務 常量 ger 事務傳播 不可 前言: 聲明式事務管理建立在AOP之上的。其本質是對方法前後進行攔截,然後在目標方法開始之前創建或者加入一個事務,在執行完目標方法之後根據執行情況提交或者回滾事務。聲明式事務最大的優點就是不需要通過編程的方式

Spring事務管理之程式設計事務場景及使用詳解

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-

設計----【分布事務】分布事務和解決方案

reat 錯誤 級別 err ons 撤銷 丟失 system 狀態 一、前言 分布式事務是企業集成中的一個技術難點,也是每一個分布式系統架構中都會涉及到的一個東西,特別是在微服務架構中,幾乎可以說是無法避免,本文就分布式事務來簡單聊一下。 二、數據庫事務 在說分布式

Spring事務實現之程式設計事務

程式設計式事務(TranscationTemplate) 廢話不多說,直接看配置檔案。 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/sc

spring-framework-4.1.6 mvc整合commons-dbutils-1.6註解事務

dbutils 是 Apache 提供的一個開源 JDBC 工具類庫,對 JDBC 做了一些簡單的封裝,使用非常方便。在專案中經常會有用到事務,我們就來看看spring mvc是怎麼結合dbutils開發註解式事務的。 1、下載commons-dbutils-1.6.jar

關於Spring註解事務@Transactional的簡單描述

一、背景: 目前很多專案的事務處理都是利用Spring的註解式事務實現的(@Transactional)。 在測試事務回滾的過程中發現如下現象: throw new RuntimeException("xxxxxxxxxxxx"); 事務回滾 throw new

Spring Transaction 5.1.3 原始碼分析 : AnnotationTransactionAttributeSource 解析註解事務屬性

概述 Spring支援使用註解指定服務方法的事務屬性。這些事務註解可以用在類上,也可以用在方法上,如下例子所示 。 Spring事務註解例子–應用在類級別 將事務註解標記到服務元件類級別,相當於為該服務元件的每個服務方法都應用了這個註解。 import org.sprin

作業系統儲存管理之頁儲存管理深入淺出

用分割槽方式管理的儲存器,每道程式總是要求佔用主存的一個或幾個連續儲存區域,作業或程序的大小仍受到分割槽大小或記憶體可用空間的限制,因此,有時為了接納一個新的作業而往往要移動已在主存的資訊。這不僅不方便,而且開銷不小。採用分頁儲存器既可免去移動資訊的工作,又可儘

Spring3hibernate4註解宣告事務管理

註解式宣告事務管理,指的是在java原始碼中利用註解的方式指定事務管理的方法。 applicationContext-common.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="ht

HDFS中式的緩存管理原理代碼剖析

邏輯 dna 取數 datanode 文件的 組成 上層 data 讀取 轉載自:http://www.infoq.com/cn/articles/hdfs-centralized-cache/ HDFS集中式的緩存管理原理與代碼剖析 Hadoop 2.3.0已經發布了

DEVOPS 運維開發系列七:防火牆NAT配置資訊的中式管理展示

背景說明 在工作中我們經常會需要使用防火牆裝置配置各種的NAT對映,比如一對一NAT、埠轉發NAT,用於滿足各種產品應用不同的網際網路IP地址和埠使用需求。如果是使用了公有云或私有云,同樣也需要使用到類似NAT閘道器或雲路由器的服務,結果一樣是會有很多的IP地址對映和埠轉發關係的配置資料

Spring宣告事務管理配置介紹

一、Spring宣告式事務配置的五種方式 前段時間對Spring的事務配置做了比較深入的研究,在此之間對Spring的事務配置雖說也配置過,但是一直沒有一個清楚的認識。通過這次的學習發覺Spring的事務配置只要把思路理清,還是比較好掌握的。 總結如下: Sprin

Spring不同事務管理方式宣告事務管理區域性回滾處理方案

Spring配置檔案中關於事務配置總是由三個組成部分,分別是DataSource、TransactionManager和代理機制這三部分,無論哪種配置方式,一般變化的只是代理機制這部分。  DataSource、TransactionManager這兩部分只是會根據資料訪問

dubbo開發環境搭建tomcat成、DEMO示例(最完整版本、帶管理控制臺、監控中心、zookeeper)

-s http服務 ppr context 正常 windows web容器 web.xml配置 web.xml 以windows為例,linux基本相同,開發環境一般linux,個人環境一般windows(如果不開額外vm的話)。 示例以dubbo官方自帶demo為例子

Spring Boot 揭秘實戰(二) 數據存儲篇 - 聲明事務管理

public rollback long tar jpa oid config 新的 autowire 文章目錄 1. 聲明式事務 2. Spring Boot默認集成事務 3. 實戰演練4. 源代碼 3.1. 實體對象 3.2. DAO 相關 3.3. Service

SpringBoot初始教程之Redis中式Session管理

ont ttr imp exce sna tap user gap col 1.介紹 有關Session的管理方式這裏就不再進行討論,目前無非就是三種單機Session(基於單機內存,無法部署多臺機器)、基於Cookie(安全性差)、基於全局的統一Session管理(red

Vuex ~ 專門為vue.js設計的中式狀態管理架構

state 原來 管理工具 t對象 包管理工具 emp UC maps fault 狀態:data中的屬性需要共享給其他vue組件使用的部分(即data中需要共用的屬性) 1、初識vuex直接來個小demo   下面操作都是基於vue-cli,如果不了解先學習下vue-