搜尋
首頁JavaJava面試題java高頻率基礎面試題-(七)

java高頻率基礎面試題-(七)

Sep 09, 2020 pm 05:48 PM
java面試題

java高頻率基礎面試題-(七)

1、使用Spring框架的好處是什麼?

(更多面試題推薦:java面試題目及答案

        輕量:Spring 是輕量的,基本的版本約2MB。

        控制反轉:Spring透過控制反轉實現了鬆散耦合,物件們給予它們的依賴,而不是創造或尋找依賴的物件們。

        面向切面的編程(AOP):Spring支援面向切面的編程,並且將應用業務邏輯和系統服務分開。

        容器:Spring 包含並管理應用中物件的生命週期與配置。

        MVC架構:Spring的WEB架構是個精心設計的架構,是Web架構中一個很好的替代品。

        事務管理:Spring 提供一個持續的事務管理接口,可擴展到上至本地事務下至全域事務(JTA)。

        異常處理:Spring 提供方便的API把特定技術相關的例外(例如由JDBC,Hibernate or JDO拋出的)轉換為一致的unchecked 異常。

2、ApplicationContext通常的實作是什麼?

        FileSystemXmlApplicationContext :此容器從一個XML檔案載入路徑名必須提供給它的建構函數。

        ClassPathXmlApplicationContext:此容器也從一個XML檔案中載入beans的定義,這裡,你需要正確設定classpath因為這個容器將在classpath裡找bean設定。

        WebXmlApplicationContext:此容器載入一個XML文件,此文件定義了一個WEB應用的所有bean。

3、什麼是Spring的依賴注入?有哪些方法進行依賴注入

        依賴注入,是IOC的一個面向,通常的概念,它有許多解釋。這個概念是說你不用創建對象,而只需要描述它如何被創建。你不在程式碼裡直接組裝你的元件和服務,但是要在設定檔裡描述哪些元件需要哪些服務,之後一個容器(IOC容器)負責把他們組裝起來。

        建構器依賴注入:建構器依賴注入透過容器觸發一個類別的建構器來實現的,該類別有一系列參數,每個參數代表一個對其他類別的依賴。

        Setter方法注入:Setter方法注入是容器透過呼叫無參構造者或無參static工廠 方法實例化bean之後,呼叫該bean的setter方法,即實現了基於setter的依賴注入。

4、什麼是Spring beans?

#        Spring beans 是那些形成Spring應用的主幹的java對象。它們被Spring IOC容器初始化,裝配,和管理。這些beans透過容器中配置的元資料創建。例如,以XML文件中 的形式定義。

        Spring 框架定義的beans都是單件beans。在bean tag中有個屬性”singleton”,如果它被賦為TRUE,bean 就是單件,否則就是一個 prototype bean。預設是TRUE,所以所有在Spring框架中的beans 缺省都是單件​​。

5、解釋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.

(影片教學推薦:java課程

6、解釋Spring框架中bean的生命週期。

Spring容器 從XML 檔案中讀取bean的定義,並且實例化bean。

Spring根據bean的定義填滿所有的屬性。

如果bean實作了BeanNameAware 接口,Spring 傳遞bean 的ID 到 setBeanName方法。

如果Bean 實作了 BeanFactoryAware 接口, Spring傳遞beanfactory 給setBeanFactory 方法。

如果有任何與bean相關聯的BeanPostProcessors,Spring會在postProcesserBeforeInitialization()方法內呼叫它們。

如果bean實作IntializingBean了,呼叫它的afterPropertySet方法,如果bean宣告了初始化方法,呼叫此初始化方法。

如果有BeanPostProcessors 和bean 關聯,這些bean的postProcessAfterInitialization() 方法將會被呼叫。

如果bean實作了 DisposableBean,它將呼叫destroy()方法。

7、在 Spring中如何注入一個java集合?

Spring提供以下幾個集合的設定元素:

    類型用於注入一列值,允許有相同的值。

     類型用於注入一組值,不允許有相同的值。

     型別用於注入一組鍵值對,鍵與值皆可為任一型別。

    型別用於注入一組鍵值對,鍵與值都只能為String型別。

8、解釋不同方式的自動組裝 。

有五種自動組裝的方式,用來引導Spring容器用自動組裝方式進行依賴注入。

        no:預設的方式是不進行自動組裝,並透過明確設定ref 屬性來進行組裝。

        byName:透過參數名稱 自動組裝,Spring容器在設定檔中發現bean的autowire屬性被設定為byname,之後容器試圖匹配、組裝和該bean的屬性具有相同名字的bean。

        byType::透過參數類型自動組裝,Spring容器在設定檔中發現bean的autowire屬性被設定為byType,之後容器試圖匹配、組裝和該bean的屬性具有相同類型的bean。如果有多個bean符合條件,則拋出錯誤。

        constructor:這個方式類似byType, 但是要提供給建構器參數,如果沒有確定的帶參數的建構器參數類型,會拋出例外。

        autodetect:先嘗試使用constructor來自動組裝,如果無法運作,則使用byType方式。

9、Spring框架的事務管理有哪些優點?

        它為不同的事務API  如 JTA,JDBC,Hibernate,JPA 和JDO,提供一個不變的程式設計模式。

        它為程式設計事務管理提供了一套簡單的API而不是一些複雜的事務API如

        它支援宣告式事務管理。

        它和Spring各種資料存取抽象層很好得整合。

10、什麼是基於Java的Spring註解配置? 給一些註解的例子.

        基於Java的配置,允許你在少量的Java註解的幫助下,進行你大部分的Spring配置而非透過XML檔案。

        以@Configuration 註解為例,它用來標記類別可以當做一個bean的定義,被Spring IOC容器使用。另一個例子是@Bean註解,它表示此方法將要傳回一個對象,並作為一個bean註冊進Spring應用上下文。

相關教學推薦:java入門教學

#

以上是java高頻率基礎面試題-(七)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:csdn。如有侵權,請聯絡admin@php.cn刪除

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

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

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)