Java之Spring配置事務
Spring事務
Spring中事務的管理就是通過AOP將事務的程式碼進行抽取
XML配置
第一步 建立c3p0連線池
將sessionFactory中的資料庫相關屬性替換為c3p0
<bean name="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="com.mysql.jdbc.Driver"></property>
<property name="jdbcUrl" value="jdbc:mysql:///MyDB" ></property>
<property name="user" value="root"></property>
<property name="password" value="123456"></property>
</bean>
第二步 建立事務管理物件
<bean name="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager">
<!-- 注入會話工廠 -->
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
第三步 設定會話策略
<tx:advice id="advice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="insert*" read-only="false"/>
<tx:method name="select*" read-only="true"/>
<tx:method name="update*" read-only="false"/>
<tx:method name="delete*" read-only="false"/>
</tx:attributes>
</tx:advice>
第四步 織入
<aop:config>
<aop:pointcut expression="execution(* com.lanou.dao.impl.*.*(..))" id="point"/>
<aop:advisor advice-ref="advice" pointcut-ref="point"/>
</aop:config>
註解配置
前兩步和註解一樣
第三步 啟動AOP事務註解
<tx:annotation-driven/>
第四步 添加註解
@Transactional
public class UserDaoImpl extends HibernateDaoSupport implements UserDao
SSH操作資料庫(HibernateDaoSupport)
為了節省程式碼 Spring提供模板類用於dao層操作資料庫
封裝了常用功能:獲取session 執行查詢等...
在SSH中 只要進行CRUD就繼承HibernateDaoSupport 它能幫我們管理session
注意:別忘記注入sessionFactory
實現步驟:
1.直接將Dao實現類繼承自 HibernateDaoSupport類
2.通過呼叫父類的getHibernateTemplate獲取模板物件
3.面向物件的 save delete update get
4.使用hql語句/使用離線查詢
使用HQL例項
public List<User> selectAllUser() {
// 演示如何使用HQL
return getHibernateTemplate().execute(new HibernateCallback<List<User>>() {
// 將CRUD的操作放到這個方法中 模板物件會自動呼叫
@Override
public List<User> doInHibernate(Session session) throws HibernateException {
String hql = "from User";
Query query = session.createQuery(hql);
List<User> list = query.list();
return list;
}
});
}
離線查詢例項
public User selectUserByName(String name) {
// 離線查詢物件
DetachedCriteria criteria = DetachedCriteria.forClass(User.class);
// 新增查詢條件
criteria.add(Restrictions.eq("name", name));
List<User> list = (List<User>) getHibernateTemplate().findByCriteria(criteria);
if (list != null && list.size() > 0) {
return list.get(0);
}
return null;
}
相關推薦
Java之Spring配置事務
Spring事務 Spring中事務的管理就是通過AOP將事務的程式碼進行抽取 XML配置 第一步 建立c3p0連線池 將sessionFactory中的資料庫相關屬性替換為c3p0 <bean name="dataSource" cla
java之Spring事務回滾和Ehcache配置
弄了一大早,終於配好了事務,事務的掃描包配好,Ehcache就是切面的問題,一切問題也迎刃而解。。。 一、Spring事務回滾 1、applicationContext.xml中配置 <!--spring 掃包 @Service .....
java之Spring學習之前的一個小demo
服務 err const 對象 color void del () 添加 寫這個小demo呢,是為了在學習Spring之前,練習一下傳統的model2開發模式; 為了簡化流程,這裏省略了利用servlet來獲取前臺數據。 采用直接new出來的對象來交給程序處理,然後執行
java之Spring裝配Bean(手動裝配、自動裝配、註解裝配)
fault tran 常見 成員 如果 on() base 反轉 tor 在上一篇控制反轉中我們看到了依靠一個Bean文件來實現對代碼的控制,可謂十分便捷,再也不用去實例化對象了,2333~~~ 1.手動裝配 1 <bean id="todo" class="
java之Spring(AOP)前奏-動態代理設計模式(上)
對象 .cn 分享圖片 賦值 alt his 編程習慣 輸出 style 我們常常會遇到這樣的事,項目經理讓你為一個功能類再加一個功能A,然後你加班為這個類加上了功能A; 過了兩天又來了新需求,再在A功能後面加上一個新功能B,你加班寫好了這個功能B,加在了A後面;又過
(轉)java之Spring(IOC)註解裝配Bean詳解
pos work 多個 public pre tor not 註解裝配 creat 在這裏我們要詳細說明一下利用Annotation-註解來裝配Bean。 因為如果你學會了註解,你就再也不願意去手動配置xml文件了,下面就看看Annotation的魅力所在吧。 先
spring配置事務管理為什麼用aop:advisor
1 事務配置有aop:aspect和aop:advisor兩種方式,但是在spring的事務管理的配置中會用aop:advisor配置,而不是aop:aspect 2 aop:aspect可以有多個pointcut,只能以類和方法作為引數.而aop:advisor只能有一個pointcu
ssm整合配置之spring配置
下面我們就需要看一下spring的基本配置了,spring的配置是一個和業務相關的配置,比如,資料來源,事務的控制等操作, 1,首先我們先配置資料來源 2,,因為這個配置和業務邏輯有不能分離的關係,所以我們還必須配置一個掃描器 ,來操作掃描業務的檔案
Spring配置事務中的 transactionAttributes 各屬性含義及XML配置
transactionAttributes 屬性:PROPAGATION事務傳播行為型別說明PROPAGATION_REQUIRED如果當前沒有事務,就新建一個事務,如果已經存在一個事務中,加入到這個事務中。這是最常見的選擇。PROPAGATION_SUPPORTS支援當前事務
Spring配置事務中@Transactional各個屬性定義
Spring中的@Transactional比較重要的一些屬性,比如 Propagation(事務傳播屬性),Isolation(事務隔離級別),Rollback Rules(事務回滾規則,預設情況是RunTimeException的時候回滾,即unchecked exc
Spring配置事務,Junit單元測試報錯"Failed to load ApplicationContext"
問題: Junit單元測試程式碼如下: package cn.muke.spring.demo2; import javax.annotation.Resource; import org.junit.Test; import org.junit.runner.RunWith; imp
spring配置事務管理器,事務配置
<!-- 配置事務管理器 --> <bean id="transactionManager" class="org.springframework.jdbc.datasou
Spring配置事務
<?xml version="1.0" encoding="UTF-8"?> <!-- 定義該文件是xml文件 該xml文件是1.0版本 該xml文件使用的是UTF-8的字元編碼格式 --> <beans xmlns="http://www.
學習《spring 3.x企業應用開發實戰》之Spring的事務管理
1、資料庫事務基礎知識 1.1、資料庫事務的概念 (1)資料庫事物的4個特性(ACID): 原子性(Atomic):表示組成一個事務的多個數據庫操作是一個不可分割的原子單元,所有的操作要麼全部成功,要麼全部失敗。一致性(Consistency):事務操作成功之後,資料庫所
Java之Spring Boot詳解
文章大綱 一、Spring Boot 概述二、Spring Boot 入門案例三、Spring Boot核心功能程式碼實戰四、專案原始碼與資料下載五、參考文章 一、Spring Boot 概述 1. 什麼是 Spring Boot
Java之Spring Cloud概念介紹
文章大綱 一、理解微服務二、Spring Cloud知識介紹三、參考資料下載四、參考文章 一、理解微服務 我們通過軟體架構演進過程來理解什麼是微服務,軟體架構的發展經歷了從單體結構、垂直架構、SOA架構到微服務架構的過程。 1. 單
Java配置分離之Spring遠程配置
after time 格式 json key 文件 ins execution 規範 訪問我的博客 前言 集群應用的配置文件如果寫在項目的 resources 目錄下面,當遇到需要修改某一個配置值時,需要將集群的所有應用的配置信息進行修改,並且將機密的配置信息比如數據庫賬號
複習之spring基礎(三)——Spring 的事務管理—配置AOP事務(XML和註解方式)
事務 事務邏輯上的一組操作,組成這組操作的各個邏輯單元,要麼一起成功,要麼一起失敗 事務的特性 原子性 :強調事務的不可分割. 一致性 :事務的執行的前後資料的完整性保持一致. 隔離性 :一個事務執行的過程中,不應該受到其他事務的干擾. 永續性 :事務一旦結束
用Java+xml配置方式實現Spring資料事務(程式設計式事務)
一、用Java配置的方式 1、實體類: Role public class Role { private int id; private String roleName; private String note; @Override
Spring-Example01之Spring的Java配置方式
1.原始碼地址 https://gitee.com/gaoxinfu/demo-spring/tree/master/demo-spring-example-01 2.詳細說明 Java配置是Spring4.x推薦的配置方式,可以完全替代xml配置。 2.1. @Config