1. 程式人生 > 其它 >spring面試題整理

spring面試題整理

1.什麼是springIOC

  控制反轉 他是一種設計思想。把所有寫好的bean交給IOC容器來管理,降低了耦合度

2.什麼是DI

  依賴注入

  依賴:一個類使用了另一個類的物件,這個類就依賴於另一個類

  依賴注入:將另一個類的物件通過spring特有的方式放到這個類中,供這個類使用,這就是依賴注入

3.springAOP

  面向切面程式設計,確保了Spring和其他AOP框架的共通性。

  關注點在於切面 實現以解決特定業務問題的方法

  橫切關注點是貫穿整個應用程式的關注點,比如日誌

  他有五中不同型別的通知 :

    1.前置通知(使用@Before註解使用這個Advice)

    2.返回之後的通知(過@AfterReturning關注使用它)

    3.丟擲後執行的通知(通用@AfterThrowing註解來使用)

    4.後置通知(通過@After註解使用)

    5.圍繞通知(通過@Around註解使用)

  提到AOP就必須要提到代理:

    1.靜態代理:在程式執行前就已經存在(優點:方便增加功能,擴充套件業務邏輯。缺點:增加程式碼的複雜性,不方便維護。)

    2.動態代理:運用反射機制動態建立而成

4.spring中的bean是否是執行緒安全?

  spring中的bean是ioc中獲取的 ioc中的bean是通過掃描配置檔案,讀取className,通過反射建立而來的。所以說執行緒是否安全取決於自己寫出的bean是否是執行緒安全的

5.spring中的bean如何被回收?

  GC回收 在物件不可達的時候就會被回收(在沒有被引用的時候就會被回收);但是ioc中的bean預設是單例,他不會被回收

6.spring中的註解

  @Configuration:與在xml中配置bean意義是一樣的

  @Value

  @PostConstruct:初始化bean

  @PreDestory:銷燬bean

  建立物件的註解:

    @Controller

    @Service

    @Responsity

    @Component

    當出現這些註解說明是交給IOC容器管理的

  @Scope:spring預設是單例的 那麼如果想要建立多例 spring提供了一個@Scope註解,該註解決定了是建立多例還是單例

  注入的註解

    @AutoWrite

    @Resource

7.Spring框架支援哪些作用域

  singleton(單例) :bean在每個Springioc容器中只有一個例項。

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

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

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

  注:Springbean的作用域是singleton.

8.spring支援的事務

  程式設計式事務:靈活性高,難維護

  申明式事務:業務程式碼和事務管理分離,你只需用註解和XML配置來管理事務