1. 程式人生 > >Java中spring的面試題

Java中spring的面試題

1、一個spring Beans的定義需要包含什麼?

         答:一個spring beans的定義包含容器所必知的所有配置元資料,包括如何建立一個bean,它的生命週期詳情及它的依賴。

2、spring支援的幾種bean的作用域。

spring框架支援一下五種bean的作用域:

singleton:bean在每個spring ioc容器中只有一個例項。在springbean中它是預設。

prototype:一個bean的定義可以有多個例項。

request:每次http請求都會建立一個bean,該作用域僅在基於web的spring ApplicationContext情形下有效。

seesion:在一個http session 中,一個bean定義對應一個例項。該作用域僅在基於web的spring ApplicationContext 情形下有效。

global-session:在一個全域性的HTTP-Seesion中,一個bean定義對應一個例項。該作用域僅在基於web的spring AppcationContext情形下有效。

3、怎樣定義類的作用域?

      答:當定義一個<bean>在spring裡,我們還能給這個bean宣告一個作用域。它可以通過bean定義中scpoe屬性來定義。

 常用 scope屬性:singleton(在每個spring ioc容器中一個bean定義只有一個物件例項)、prototype(每次從容器中獲取的bean都是新的物件)

4、spring框架中的單例bean的執行緒安全嗎?

答:不安全。

5、什麼是spring的內部bean?

答:當一個bean僅被用作另一個bean的屬性時,他能被宣告為一個內部bean,為了定義inner bean,在spring的基於XML的配置元資料中,可以在<property/>或<construct-arg/>元素內使用<bean/>元素,內部bean通常時匿名的,他們的scope一般時prototype。

6、在spring中如何注入一個Java集合?

 答:   spring提供一下幾個集合的配置元素:

            <list>:型別用於注入一列值,允許有相同的值。

            <set>:型別用於注入一組值。不允許有相同的值。

            <map>:型別用於注入一組鍵值對,鍵和值都可以為任意值型別。

            <props>:型別用於注入一組鍵值對,鍵和值都是隻能為string型別。

7、什麼時bean的自動裝配?

   答:無須在spring配置檔案中描述JavaBean之間的依賴關係(如配置<property>、<constructor-arg>)。ioc容器會自動建立javaBean之間的關聯關係。

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

   答:

9、什麼是基於Java的spring註解配置?給一些註解的例子

  答:基於Java的配置,執行你在少量的Java註解的幫助下,進行你的大部分spring配置而非通過xml檔案。(使用@註解名的方式,實現零配置,但是隻能是大部分

 比如:以@Configuration註解為例,它用來標記類可以當做一個bean的定義,被當作springIOC容器使用。另一個例子是@bean註解,他表示此方法將要返回一個物件,作為一個bean註冊spring應用上下文。

10、什麼是基於註解的容器配置?

 答: 相對於xml檔案。。。。