freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第2講基于開源框架的企業(yè)級信息系統(tǒng)開發(fā)技術-課堂xxxx(參考版)

2025-01-18 20:11本頁面
  

【正文】 在 ApplicationContext的諸多實現(xiàn)中,有三個常用的實現(xiàn): ■ ClassPathXmlApplicationContext:從類路徑中的 XML文件載入上下文定義信息,把上下文。 ■ ③ 應用上下文可以向注冊為監(jiān)聽器的 Bean發(fā)送事件。但是 ApplicationContext提供了更多功能: ■ ① 應用上下文提供了文本信息解析工具,包括對國際化的支持。 MyBean myBean = (MyBean)(“myBean”)。由于得到的是 Object類型,所以要進行強制類型轉(zhuǎn)化。 Spring核心接口 ? 1. BeanFactory 下面的代碼片段使用一個 Bean XML定義文件給 XmlBeanFactory: 這行簡單的代碼告訴 Bean Factory從 XML文件中讀取Bean的定義信息,但是現(xiàn)在 Bean Factory沒有實例化 Bean,Bean被延遲載入到 Bean Factory中,就是說 Bean Factory會立即把 Bean定義信息載入進來,但是 Bean只有在需要的時候才被實例化。 要創(chuàng)建 XmlBeanFactory,需要傳遞一個。 } } Spring注入的兩種方式 ? 配置文件也需要做簡單的修改: 第 5章 Spring應用 Spring概述 Spring核心機制 ——依賴注入 Spring核心接口及基本配置 Spring AOP Spring事務支持 Spring核心接口 ? 1. BeanFactory 在 Spring中有幾種 BeanFactory的實現(xiàn),其中最常使用的是 . 。 // 構造注入所需要的帶參數(shù)的構造函數(shù) public Chinese(Language lan){ =lan。 } } 圖 程序運行結果 Spring注入的兩種方式 ? 2. 構造注入 ■ 只要對前面的 Chinese類進行簡單的修改: public class Chinese implements Human{ private Language lan。 human = (Human) (chinese)。 public class Test { public static void main(String[] args) { ApplicationContext ctx = new FileSystemXmlApplicationContext(src/)。 import 。 } } Spring注入的兩種方式 ? 下面通過 Spring的配置文件來完成其對象的注入。 public void setLan(Language lan) { = lan。 } Spring注入的兩種方式 ? 下面是 Human實現(xiàn)類 : ? 下面是 Language實現(xiàn)類 : public class English implements Language{ public String kind() { return 中國人也會說英語! 。 ■Human的接口, ,代碼如下: ■Language接口, ,代碼如下: public interface Language { public String kind()。 ■ 創(chuàng)建一個 Java Project,命名為“ FactoryExample1”。 第 5章 Spring應用 Spring概述 Spring核心機制 ——依賴注入 Spring核心接口及基本配置 Spring AOP Spring事務支持 工廠模式 ?簡單工廠 Spring注入的兩種方式 ? 1. 設置注入 ■ 設置注入是通過 setter方法注入被調(diào)用者的實例。 ■⑦ Spring MVC 框架,是一個全功能構建 Web應用程序的 MVC 實現(xiàn)。它建立在應用程序上下文模塊之上,簡化了處理多份請求及將請求參數(shù)綁定到域?qū)ο蟮墓ぷ鳌? ■⑥ Spring Web 模塊。 Spring概述 ■⑤ Spring ORM。 JDBC DAO 抽象層提供了有用的異常層次結構,用來管理異常處理和不同數(shù)據(jù)庫供應商拋出的錯誤消息。它為基于 Spring 應用程序的對象提供了事務管理服務。通過配置管理特性,可以很容易地使 Spring 框架管理的任何對象支持 AOP。向 Spring 框架提供上下文信息,包括企業(yè)服務,如 JNDI、 EJB、電子郵件、國際化、校驗和調(diào)度等。提供 Spring框架的基本功能,其主要組件是BeanFactory,是工廠模式的實現(xiàn)。 圖 Spring框架的組件結構圖 Spring概述 ? 組成 Spring 框架的每個模塊(或組件)都可以單獨存在,或者與其他一個或多個模塊聯(lián)合實現(xiàn)。 Spring 框架的分層架構,由 7 個定義良好的模塊組成。 Spring也提供了很多基礎功能(事務管理、持久化框架集成等。 ? 框架 ——Spring可以將簡單的組件配置、組合成為復雜的應用。 ? 面向切 面 ——Spring提供了面向切面編程的豐富支持。 ? 控制反轉(zhuǎn) ——Spring通過一種稱作控制反轉(zhuǎn)( IoC)的技術促進了松耦合。完整的 Spring框架可以在一個大小只有 1MB多的 JAR文件里發(fā)布。 ■ Hibernate支持兩種鎖機制,悲觀鎖( Pessimistic Locking)和樂觀鎖( Optimistic Locking)。如在金融系統(tǒng)的日終結算處理中,希望對某個結算時間點的數(shù)據(jù)進行處理,而不希望在結算過程中(可能是幾秒,也可能是幾個小時),數(shù)據(jù)再發(fā)生變化。 ()。 ... ()。 ()。 Session s1 = ()。它會在多個數(shù)據(jù)源之間統(tǒng)籌事務,具體使用的技術就是所謂的“兩階段提交”。而 JTA事務因為其分布式和多數(shù)據(jù)源的特性,不可能由任何一個數(shù)據(jù)源實現(xiàn)事務。 JTA主要用于分布式的多個數(shù)據(jù)源的兩階段提交的事務,而 JDBC的 Connection提供單個數(shù)據(jù)源的事務。其最大的特點是 調(diào)用UserTransaction接口的 begin、 mit和 rollback方法來完成事務范圍的界定、事務的提交和回滾 。 ()。 (room)。 Session session =()。 (room)。 // JDBC調(diào)用相關的 SQL語句 ()。 從 JDBC層面而言,上面的代碼實際上對應著: Connection =getConnection。 (room)。如下面的代碼: Session session=()。 在 JDBC的數(shù)據(jù)庫操作中,一項事務是由一條或多條表達式組成的不可分割的工作單元,通過提交 mit()或回滾 rollback()來結束事務的操作。 Hibernate事務管理 ? 1.基于 JDBC的事務管理 Hibernate是 JDBC的輕量級封裝,本身并不具備事務管理能力。 ()。 Transaction tx=()。 (程明 )。 (21)。 (081101)。如下面的代碼: // stu處于瞬時態(tài) Student stu=new Student()。 實體對象生命周期 ? 3. Detached(脫管狀態(tài)) 處于持久態(tài)的對象,其對應的 Session實例關閉之后,此對象就處于脫管狀態(tài)。同樣,如果一個實體對象由 Hibernate加載,那么,它也處于持久狀態(tài)。 雖然這個事務中沒有顯示調(diào)用 ()方法保存 stu對象,但是由于 stu為持久態(tài),將自動被固化到數(shù)據(jù)庫, 因此數(shù)據(jù)庫的學號為“ 081101” 學生記錄的姓名已被更改為“李方”,此時 stu1仍然是一個普通 Java對象,對數(shù)據(jù)庫未產(chǎn)生任何影響。 (程明明 )。 Transaction tx2=()。 // 通過 save()方法, stu對象轉(zhuǎn)換為持久態(tài),由 Hibernate納入實體管理容器,而 stu1仍然處于瞬時態(tài) (stu)。 (22)。 (081102)。 (李方方 )。 Student stu1=new Student()。處于持久狀態(tài)的對象,其變更將由 Hibernate固化到數(shù)據(jù)庫中。 實體對象生命周期 ? 實體對象的生命周期有以下 3種狀態(tài)。 (李方方 )。如下面的代碼: Student stu=new Student()。 實體對象生命周期 ? 實體對象的生命周期有以下 3種狀態(tài)。 } ()。 //調(diào)用 JDBC的 delete進行批量刪除 (delete from KCB where KCH200)。 Connection conn=()。 Session session=()。 ()。 ()。 Transaction ts=()。 hibernateconfiguration sessionfactory …… property name= /property /sessionfactory hibernateconfiguration Hibernate批量處理 ? 下面將使用 HQL批量刪除課程表中課程號大于 200的課程。 ()。 } catch (SQLException e) { ()。 try { Statement stmt=()。 Transaction ts=()。 Hibernate批量處理 ? ( 2)繞過 Hibernate調(diào)用 JDBC進行批量更新 由于這里是直接操作數(shù)據(jù)庫,故要操作對應表,而不是類。 ()。 //在 HQL查詢中使用 update進行批量更新 Query query=(update Kcb set xs=30)。 Session session=()。 hibernateconfiguration sessionfactory …… property name= /property /sessionfactory hibernateconfiguration Hibernate批量處理 ? 下面使用 HQL批量更新把課程表中的 XS修改為 30。 ()。 // 執(zhí)行批處理任務 } catch (SQLException e) { ()。 ()。 i 500。 try { PreparedStatement stmt=(insert into KCB(KCH) values(?))。 Transaction ts=()。 Hibernate批量處理 ? ( 2)繞過 Hibernate直接調(diào)用 JDBC進行插入 ? 由于 Hibernate只是對 JDBC進行了輕量級的封裝,因此完全可以繞過 Hibernate直接調(diào)用 JDBC進行批量插入。 // 清空緩存區(qū),釋放內(nèi)存供下批數(shù)據(jù)使用 } } ()。 if(i%50==0){ // 以 50個課程為一個批次向數(shù)據(jù)庫提交,此值應與配置的批量尺寸一致 ()。 // 這里設置課程號為 i,在實際應用中應該是被插入的課程對象 // 已經(jīng)放在集合或數(shù)組中,這里只要取出 (i+)。i500。 Transaction ts=()。 ? Hibernate各種文件 ■ POJO類和映射配置文件 ■ ■ HibernateSessionFactory ? Hibernate核心接口 ■ Configuration、 SessionFactory、 Session、 Transaction、Query ? HQL查詢 Hibernate關系映射 Hibernate關系映射 ?一對一關聯(lián) ■ 共享主鍵方式 ■ 唯一外鍵方式 ?多對一單向關聯(lián) ?一對多雙向關聯(lián) ?多對多關聯(lián)(單向、多向) Hibernate高級功能 Hibernate高級功能 ?批量處理(插入、更新、刪除) ?實體對象生命周期 ?事務管理 ■ 基于 JDBC的事務管理 ■ 基于 JTA的事務管理概念 ■ 鎖 Hibernate高級功能 ? Hibernate批量處理 ? 1. 批量插入 ? ( 1)通過 Hibernate的緩存進行批量插入 ? 使用這種方法時,首先要在 Hibernate的配置文件
點擊復制文檔內(nèi)容
試題試卷相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1