大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 最新java程序員框架面試題

最新java程序員框架面試題

更新時間:2020-03-17 10:35:53 來源:動力節點 瀏覽2544次


  BeanFactory和ApplicationContext有什么區別


  >BeanFactory可以理解為含有bean集合的工廠類。BeanFactory包含了種bean的定義,以便在接收到客戶端請求時將對應的bean實例化。


  >BeanFactory還能在實例化對象的時生成協作類之間的關系。此舉將bean自身與bean客戶端的配置中解放出來。BeanFactory還包含了bean生命周期的控制,調用客戶端的初始化方法(initializationmethods)和銷毀方法(destructionmethods)。


  >從表面上看,applicationcontext如同beanfactory一樣具有bean定義、bean關聯關系的設置,根據請求分發bean的功能。但applicationcontext在此基礎上還提供了其他的功能。


  >提供了支持國際化的文本消息


  >統一的資源文件讀取方式


  >已在監聽器中注冊的bean的事件


  SpringBean的生命周期


  >SpringBean的生命周期簡單易懂。在一個bean實例被初始化時,需要執行一系列的初始化操作以達到可用的狀態。同樣的,當一個bean不在被調用時需要進行相關的析構操作,并從bean容器中移除。


  >Springbeanfactory負責管理在spring容器中被創建的bean的生命周期。Bean的生命周期由兩組回調(callback)方法組成。


  >初始化之后調用的回調方法。


  >銷毀之前調用的回調方法。


  >Spring框架提供了以下四種方式來管理bean的生命周期事件:


  >InitializingBean和DisposableBean回調接口


  >針對特殊行為的其他Aware接口


  >Bean配置文件中的Custominit()方法和destroy()方法


  >@PostConstruct和@PreDestroy注解方式


  SpringIOC如何實現


  >Spring中的org.springframework.beans包和org.springframework.context包構成了Spring框架IoC容器的基礎。


  >BeanFactory接口提供了一個先進的配置機制,使得任何類型的對象的配置成為可能。ApplicationContex接口對BeanFactory(是一個子接口)進行了擴展,在BeanFactory的基礎上添加了其他功能,比如與Spring的AOP更容易集成,也提供了處理messageresource的機制(用于國際化)、事件傳播以及應用層的特別配置,比如針對Web應用的WebApplicationContext。


  >org.springframework.beans.factory.BeanFactory是SpringIoC容器的具體實現,用來包裝和管理前面提到的各種bean。BeanFactory接口是SpringIoC容器的核心接口。


  說說SpringAOP


  >面向切面編程,在我們的應用中,經常需要做一些事情,但是這些事情與核心業務無關,比如,要記錄所有update*方法的執行時間時間,操作人等等信息,記錄到日志,


  >通過spring的AOP技術,就可以在不修改update*的代碼的情況下完成該需求。


  SpringAOP實現原理


  >SpringAOP中的動態代理主要有兩種方式,JDK動態代理和CGLIB動態代理。JDK動態代理通過反射來接收被代理的類,并且要求被代理的類必須實現一個接口。JDK動態代理的核心是InvocationHandler接口和Proxy類。


  >如果目標類沒有實現接口,那么SpringAOP會選擇使用CGLIB來動態代理目標類CGLIB(CodeGenerationLibrary),是一個代碼生成的類庫,可以在運行時動態的生成某個類的子類,注意,CGLIB是通過繼承的方式做的動態代理,因此如果某個類被標記為final,那么它是無法使用CGLIB做動態代理的。


  動態代理(cglib與JDK)


  >JDK動態代理類和委托類需要都實現同一個接口。也就是說只有實現了某個接口的類可以使用Java動態代理機制。但是,事實上使用中并不是遇到的所有類都會給你實現一個接口。因此,對于沒有實現接口的類,就不能使用該機制。而CGLIB則可以實現對類的動態代理。


  Spring事務實現方式


  >1、編碼方式


  >所謂編程式事務指的是通過編碼方式實現事務,即類似于JDBC編程實現事務管理。


  >2、聲明式事務管理方式


  >聲明式事務管理又有兩種實現方式:基于xml配置文件的方式;另一個實在業務方法上進行@Transaction注解,將事務規則應用到業務邏輯中


  Spring事務底層原理


  >a、劃分處理單元——IOC


  >由于spring解決的問題是對單個數據庫進行局部事務處理的,具體的實現首相用spring中的IOC劃分了事務處理單元。并且將對事務的各種配置放到了ioc容器中(設置事務管理器,設置事務的傳播特性及隔離機制)。


  >b、AOP攔截需要進行事務處理的類


  >Spring事務處理模塊是通過AOP功能來實現聲明式事務處理的,具體操作(比如事務實行的配置和讀取,事務對象的抽象),用TransactionProxyFactoryBean接口來使用AOP功能,生成proxy代理對象,通過TransactionInterceptor完成對代理方法的攔截,將事務處理的功能編織到攔截的方法中。讀取ioc容器事務配置屬性,轉化為spring事務處理需要的內部數據結構(TransactionAttributeSourceAdvisor),轉化為TransactionAttribute表示的數據對象。


  >c、對事物處理實現(事務的生成、提交、回滾、掛起)


  >spring委托給具體的事務處理器實現。實現了一個抽象和適配。適配的具體事務處理器:DataSource數據源支持、hibernate數據源事務處理支持、JDO數據源事務處理支持,JPA、JTA數據源事務處理支持。這些支持都是通過設計PlatformTransactionManager、AbstractPlatforTransaction一系列事務處理的支持。為常用數據源支持提供了一系列的TransactionManager。


  >d、結合


  >PlatformTransactionManager實現了TransactionInterception接口,讓其與TransactionProxyFactoryBean結合起來,形成一個Spring聲明式事務處理的設計體系。


最新java程序員框架面試題


    以上就是動力節點Java培訓機構小編介紹的“最新java程序員框架面試題”的內容,希望對大家有幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 久久青草免费91线频观看站街 | 一本到在线观看视频不卡 | 欧美精品一区二区三区久久 | 久久精品国产亚洲麻豆小说 | 国产精品久久久久不卡绿巨人 | 五月婷婷综合在线视频 | 国产日产欧产美一二三区 | 国产伦一区二区三区免费 | 国产福利在线免费 | 天天躁狠狠躁夜夜躁 | 一国产大片在线观看 | 成人美女隐私免费 | 在线播放日本爽快片 | 天天曰曰 | 99视频在线播放 | 久久九九有精品国产56 | 久久久久久麻豆 | 国产成人精品亚洲日本在线观看 | 久综合网| 亚洲天天在线日亚洲洲精 | 9191久久久久视频 | 在线中文字幕观看 | 精品自拍视频 | 久久怡红院国产精品 | 亚洲国产综合精品 | 综合色桃花久久亚洲 | 九一毛片 | 波多野结衣久久精品免费播放 | 欧美日韩亚洲国产一区二区三区 | 国产二区精品视频 | 色视在线| 成人欧美精品一区二区不卡 | 奇米第四色777 | 成年人看的黄色 | 九九热视频免费观看 | 免费超级淫片日本高清视频 | 国产在线精品网址你懂的 | 亚洲乱码一区二区三区国产精品 | 亚洲毛片大全 | 综合久久综合 | 亚洲一区二区在线成人 |