1. Spring 中自動裝配有那些局限性?
自動裝配的局限性
重寫:仍需用<constructor-arg>和<property>配置來定義依賴,意味著總要重寫自動裝配。
基本數據類型:不能自動裝配簡單的屬性,例如基本數據類型、String字符串、和類。
模糊特性:自動裝配不如顯式裝配精確,如果有可能,建議使用顯式裝配。
2. Spring 管理事務默認回滾的異常有哪些?
Spring的事務管理默認只對出現運行期異常(java.lang.RuntimeException及其子類)、Error進行回滾。
假設一個方法拋出Exception或者Checked異常,Spring事務管理默認不進行回滾。
3. Spring 中事務如何指定回滾的異常?
在@Transaction注解中定義noRollbackFor和RollbackFor參數指定某種異常是否回滾。
@Transaction(noRollbackFor=RuntimeException.class)
@Transaction(RollbackFor=Exception.class)
4. 什么是Spring IOC 容器?
Spring IOC 負責創建對象,管理對象(通過依賴注入(DI),裝配對象,配置對象,并且管理這些對象的整個生命周期。
5. Spring 中 IOC的優點是什么?
IOC 或 依賴注入把應用的代碼量降到最低。它使應用容易測試,單元測試不再需要單例和JNDI查找機制。
最小的代價和最小的侵入性使松散耦合得以實現。IOC容器支持加載服務時的餓漢式初始化和懶加載。
6. Spring 中 IOC 和 DI 有什么區別?
在Spring框架中,IOC(Inversion of Control,控制反轉)和DI(Dependence Injection,依賴注入)是兩個核心的概念,它們在實現上有所不同,但又相輔相成。
IOC(控制反轉):