spring現在無疑是Java中最火的框架,使用範圍廣,幾乎每個公司面試都會涉及spring和資料庫,你可以對Struts不熟悉,但一定不能表現出對spring不了解。
使用Spring框架的好處是什麼? (建議學習:java訪談題目)
輕量:Spring 是輕量的,基本的版本約2MB。
控制反轉:Spring透過控制反轉實現了鬆散耦合,物件們給予它們的依賴,而不是創建或尋找依賴的物件。
面向切面的編程(AOP):Spring支援面向切面的編程,並且把應用業務邏輯和系統服務分開。
容器:Spring 包含並管理應用程式中物件的生命週期和配置。
MVC框架:Spring的WEB框架是個精心設計的框架,是Web框架的一個很好的替代品。
事務管理:Spring 提供一個持續的事務管理接口,可以擴展到上至本地事務下至全域事務(JTA)。
異常處理:Spring 提供方便的API把具體技術相關的異常(例如由JDBC,Hibernate or JDO拋出的)轉化為一致的unchecked 異常。
ApplicationContext通常的實作是什麼?
FileSystemXmlApplicationContext :此容器從一個XML檔案中載入beans的定義,XML Bean 設定檔的全路徑名必須提供給它的構造函數。
ClassPathXmlApplicationContext:這個容器也從一個XML檔案載入beans的定義,這裡,你需要正確設定classpath因為這個容器會在classpath裡找bean設定。
WebXmlApplicationContext:此容器載入一個XML文件,此文件定義了一個WEB應用程式的所有bean。
什麼是Spring的依賴注入?有哪些方法進行依賴注入
依賴注入,是IOC的一個面向,是個通常的概念,它有多種解釋。這個概念是說你不用創建對象,而只需要描述它如何被創建。你不在程式碼裡直接組裝你的元件和服務,但是要在設定檔裡描述哪些元件需要哪些服務,之後一個容器(IOC容器)負責把他們組裝起來。
建構器依賴注入:建構器依賴注入透過容器觸發一個類別的建構器來實現的,該類別有一系列參數,每個參數代表一個對其他類別的依賴。
Setter方法注入:Setter方法注入是容器透過呼叫無參構造器或無參錯位工廠 方法實例化bean之後,呼叫該bean的setter方法,即實現了基於setter的依賴注入。
什麼是Spring beans?
Spring beans 是那些形成Spring應用的主幹的java對象。它們被Spring IOC容器初始化,裝配,和管理。這些beans透過容器中配置的元資料創建。例如,以XML檔案中
Spring 框架定義的beans都是單件beans。在bean tag中有個屬性”singleton”,如果它被賦為TRUE,bean 就是單件,否則就是一個 prototype bean。預設是TRUE,所以所有在Spring框架中的beans 缺省都是單件。
解釋Spring支持的幾種bean的作用域。
Spring框架支援以下五種bean的作用域:
singleton : bean在每個Spring ioc 容器中只有一個實例。
prototype:一個bean的定義可以有多個實例。
request:每次http請求都會建立一個bean,該作用域僅在基於web的 Spring ApplicationContext情況下有效。
session:在一個HTTP Session中,一個bean定義對應一個實例。此作用域僅在基於web的Spring ApplicationContext情形下有效。
global-session:在一個全域的HTTP Session中,一個bean定義對應一個實例。此作用域僅在基於web的Spring ApplicationContext情形下有效。
缺省的Spring bean 的作用域是Singleton.
解釋Spring框架中bean的生命週期。
1,Spring容器 從XML 檔案讀取bean的定義,並實例化bean。
2,Spring根據bean的定義填入所有的屬性。
3,如果bean實作了BeanNameAware 接口,Spring 傳遞bean 的ID 到 setBeanName方法。
4,如果Bean 實作了 BeanFactoryAware 接口, Spring傳遞beanfactory 給setBeanFactory 方法。
5,如果有任何與bean相關聯的BeanPostProcessors,Spring會在postProcesserBeforeInitialization()方法內呼叫它們。
6,如果bean實作IntializingBean了,呼叫它的afterPropertySet方法,如果bean宣告了初始化方法,呼叫此初始化方法。
7,如果有BeanPostProcessors 和bean 關聯,這些bean的postProcessAfterInitialization() 方法將會被呼叫。
8,如果bean實作了 DisposableBean,它將呼叫destroy()方法。
在 Spring中如何注入一個java集合?
Spring提供以下幾種集合的配置元素:
類型用於注入一列值,允許有相同的值。
解釋不同方式的自動組裝 。
有五種自動組裝的方式,用來引導Spring容器用自動組裝方式進行依賴注入。
no:預設的方式是不進行自動裝配,透過明確設定ref 屬性來進行組裝。
byName:透過參數名稱 自動裝配,Spring容器在設定檔中發現bean的autowire屬性被設定成byname,之後容器試圖匹配、組裝和該bean的屬性具有相同名字的bean。
byType::透過參數類型自動裝配,Spring容器在設定檔中發現bean的autowire屬性被設定成byType,之後容器試圖匹配、組裝和該bean的屬性具有相同類型的bean。如果有多個bean符合條件,則拋出錯誤。
constructor:這個方式類似byType, 但是要提供給建構器參數,如果沒有確定的帶參數的建構器參數類型,將會拋出例外。
autodetect:首先嘗試使用constructor來自動組裝,如果無法工作,則使用byType方式。
Spring框架的事務管理有哪些優點?
它為不同的交易API 如 JTA,JDBC,Hibernate,JPA 和JDO,提供一個不變的程式模式。
它為編程式交易管理提供了一套簡單的API而不是一些複雜的交易API如
它支援宣告式交易管理。
它和Spring各種資料存取抽象層很好得整合。
什麼是基於Java的Spring註解配置? 給一些註解的例子.
基於Java的配置,允許你在少量的Java註解的幫助下,進行你的大部分Spring配置而非透過XML檔案。
以@Configuration 註解為例,它用來標記類別可以當做一個bean的定義,被Spring IOC容器使用。另一個例子是@Bean註解,它表示此方法將要傳回一個對象,並作為一個bean註冊進Spring應用上下文。
以上是java框架面試題目(2)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3漢化版
中文版,非常好用

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

Dreamweaver Mac版
視覺化網頁開發工具

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。