spring架構(三)

來源:互聯網
上載者:User

標籤:str   res   不執行   com   沒有   方式   不可重複讀取   核心   可重複   

基於aspectj的註解aop(會用)
  使用註解方式實現aop操作
    第一步 建立對象
    第二步 在spring核心設定檔,開啟aop操作
        aop:aspectj-autoproxy
    第三步 在增強類上使用註解完成aop操作

Spring的jdbcTemplate操作

  spring架構一站式架構

    針對javaEE三層,每一層都有解決技術

      在dao層,使用jdbcTemplate

  spring對不同持久化技術的支援(jdbc,Hibemate5.0,IBatis(MyBatis),JPA)

    jdbcTemplate對jdbc進行封裝

  jdbcTemplate使用和dbutils使用很相似,都對資料進行crud操作

  添加:

    1、匯入相關jar包及資料庫驅動jar包

    2、建立對象,設定資料庫資訊

    3、建立jdbcTemplate對象,設定資料來源

    4、調用jdbcTemplate對象裡面的方法實現操作

  修改:

  刪除:

  查詢:

    1、使用jdbcTemplate實現查詢操作

      QueryRunner runner = new QueryRuner(datasource);

      //返回對象

      runner.query(sql,new BeanHandler<User>(User.class));

      //返回list集合

      runner.query(sql,new BeanListHander<User>(User.class));

    在dbutils時,有介面ResultSetHandler

      dbutils提供了針對不同的結果的實作類別

    jdbcTemplate實現查詢,有介面RowMapper

      jdbcTemplate針對這個介面沒有提供實作類別,得到不同的類型資料需要自己進行資料封裝

    2、查詢的具體實現

      第一 查詢返回某一個值

        queryForObject(String sql,Class<T> requiredType)

        第二個參數傳回型別是class(Integer.class)

      第二 查詢返回對象

        queryForObject(String sql,RowMapper,Object ..args)

        第二個參數是 RowMapper介面,類似於dbutils裡面的介面

        第三個參數是 可變參數

      第三 查詢返回list集合

        query(String sql, RowMapper, Object ...args)

Spring配置串連池和dao使用jdbcTemplate

  1、spring配置c3p0串連池

    第一步 匯入相關jar包

    第二步 建立spring設定檔,配置串連池

      

ComboPooledDataSource comboPooledDataSource = new ComboPooledDataSource();comboPooledDataSource.setDriverClass("com.mysql.jdbc.Driver");
comboPooledDataSource.setJdbcUrl("jdbc:mysql:///spring_jdbcTemplate");comboPooledDataSource.setUser("root");comboPooledDataSource.setPassword("123456");

 

  

 

      把以上代碼在設定檔中進行配置

  2、dao使用jdbcTemplate

  (1)建立service和dao,配置service和dao對象,在service注入dao對象

  (2)建立jdbcTemplate對象,把模板對象注入到dao裡面

  (3)在jdbcTemplate對象裡面注入dataSource

Spring的交易管理

  事務概念

    1、什麼是事務

      一組事務,要麼全部執行,要麼全部不執行。

    2、事務特性

      原子性、一致性、隔離性、持久性

    3、不考慮隔離性產生的讀問題

      髒讀、不可重複讀取、虛讀(幻讀)

    4、解決讀問題

    (1)設定隔離等級

Spring交易管理api

  spring交易管理的兩種方式

    第一種 編程式交易管理

    第二種 聲明式交易管理

    (1)基於配置xml設定檔實現

    (2)基於註解實現

  spring交易管理的api介紹

    PlatformTransactionManager交易管理員

    (1)spring針對不同的dao層架構,提供介面不同的實作類別

    (2)首先 配置交易管理員

搭建轉賬環境

  1、建立資料庫表,添加資料

  2、建立service和dao類,完成注入關係

   (1)service層又叫商務邏輯層

   (2)dao層,單純對資料庫操作層,在dao層不添加業務

  3、產生問題:

    如果在一個人少了1000之後,出現異常,另一個人不會多1000

  4、解決:

    (1)添加事務解決,出現異常進行復原操作

聲明式交易管理(xml配置)

  設定檔方式使用aop思想配置

    第一步 配置交易管理員

      ctrl shift + T 尋找dataSourceTransactionManager

    第二步 配置事務增強

    第三步 配置切面

聲明式交易管理(註解)

  第一步 配置交易管理員

  第二步 配置事務註解

  第三步 在要使用事務的方法所在類上面添加註解

spring架構(三)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.