天天看點

spring面試題

f-sp-1. Spring的aop你怎樣實作?

用動态代理和cglib實作,有接口的用動态代理,無接口的用cglib
           

f-sp-2. Spring在SSH起什麼作用

整合作用
           

f-sp-3. Spring容器内部怎麼實作的

内部用Map實作,或者說HashMap
           

f-sp-4. 怎麼樣了解IOC與AOP

IOC是一種控制反轉的思想,降低了對象的耦合度(用戶端隻依賴接口,不依賴實作,就是解耦合,通過反射實作),AOP是面向切面程式設計,非侵入式程式設計,實作了非業務性程式設計(公共功能),譬如日志,權限,事務等等
           

f-sp-5. Spring的事務,事務的作用。

Spring裡面的事務分為程式設計式事務和聲明式事務,一般用聲明式事務,用來控制資料操作的完整性,一緻性
           

f-sp-6. Spring的IOC和AOP你在項目中是怎麼使用的?

IOC主要來解決對象之間的依賴問題,把所有的bean的依賴關系通過配置檔案或者注解關聯起來,降低了耦合度,AOP一般用來事務
           

f-sp-7. Spring主要使用了什麼模式?

工廠模式,單例模式,代理模式
           

f-sp-8. Spring bean的作用域.

Scope常見的有單例或者多例
           

f-sp-9. Spring的事務是如何配置的?

1. 2. 3.
           

f-sp-10. Spring的配置檔案最好使用什麼檔案?

xml,因為它是最簡單,最流行的資料格式
           

f-sp-11. 你使用過Spring中的哪些技術?

bean的管理,aop技術,ioc技術 ,事務等
           

f-sp-12. 為什麼要用Spring

降低對象耦合度,讓代碼更加清晰,提供一些常見的模版
           

f-sp-13. Spring的注解

   1.bean的标記注解
@Component 通用注解 @Repository 持久層注解   @Service 業務層注解  @Controller:表現層注解
           
   2.bean的注入注解
@AutoWired @Resource 
           

f-sp-14. Spring的AOP中有那些通知?寫過類似Spring AOP的操作嗎?

簡單的寫過,譬如前置通知,後置通知的方法,環繞通知,事務就是典型的AOP的實作
           

f-sp-15. Spring中的AOP在你項目中是怎麼使用的,用在哪裡?

  和Struts2整合時候,和Hibernate整合時候都可以用得到, 事務用的最多,還有個别日志,權限功能也可以用到

f-sp-16. Spring的事務(傳播屬性,隔離級别)。

七大傳播屬性,四大隔離級别
           

f-sp-17. Spring的事務在項目中你是怎麼用的、說說AOP、程式設計式事務要實作還是繼承什麼接口?

  在業務層加個事務控制

f-sp-18. BeanFactory與Factory的差別

   BeanFactory是Spring和核心頂級接口,它裡面預設實作了Bean的管理,以及生命周期,bean的作用域管理,Facory隻是簡單的建立對象

f-sp-19. Spring DI的幾種方式

setter注入和構造器注入,一般用setter注入
           

f-sp-20. 依賴注入的原理

  就是通過反射機制生成想要的對象注入

f-sp-21. 說一下整合Spring的核心監聽器。

是在web.xml裡面配置的ContextLoaderListener
           

f-sp-22. Spring配置檔案中的核心是個監聽器,它用來幹嘛的?

用來初始化Spring的容器
           

f-sp-23. Spring你們為什麼用配置檔案而不使用注解?

配置檔案耦合度低,容易維護,尤其是在切面或者事務的時候,隻配置一次就可以讓很多代碼擁有事務,
           

f-sp-24. Spring和Hibernate的事務有什麼差別?

  Spring的事務提供了統一的事務處理機制,包含了JDBC,Hibernate,IBatis等事務實作,而Hibernate隻處理自己事務

f-sp-25. Struts2與Spring整合先啟動那個容器。

先啟動監聽器,因為先要初始化容器,初始化容器了以後Action才能從容器裡面獲得
           

f-sp-26. Spring的事務管理器有幾種。

聲明式事務和程式設計式事務,我們一般用聲明式事務
           

f-sp-27. 讓你寫Spring的容器,你是怎樣實作的?

我們可以寫一個HashMap,如果并發考慮的話要寫并發的Map,把bean的名字放在map的key,bean的實作map的value
           

f-sp-28. 談談Spring的IOC和AOP,如果不用Spring,怎麼去實作這兩個技術。

   ioc用反射實作 ,AOP用動态代理實作

f-sp-29. Spring事務和Hibernate事務的操作上面的差別?

hibernate的事務隻能手動顯示代碼的方式控制建立事務與送出事務以及復原。
Spring可以通過配置檔案設定一類class事務的建立與送出以及復原,也可以顯示代碼方式控制。
           

f-sp-30. 講下Spring的七大事務傳播

    有七個,常用有兩個REQUIERD, REQUIRED_NEW,REQUIERD表示兩個事務的方法調用的時候,前面的時候和後面的合并成一個事務,REQUIRED_NEW是重新開機一個事務,各幹各的

f-sp-31. 在同一程序裡,有A,B兩個方法都對不同的表進行更新資料,假如A方法出異常了,若要B方法執行,怎樣配置事務級别,若不要B方法執行,又該怎樣配置?

前者用REQUIRED_NEW,後者用REQUIRED
           

f-sp-32. 事務的隔離級别

Spring定義有四種,但是常見的是READ_COMMIT,Oralce有兩種實作,MYSql有四種
           

f-sp-33. Spring的IOC容器與工廠類有什麼差別?

IOC(Inversion of Control)對Bean的控制能力更強,能控制對象自動注入,還可以控制生命周期,而工廠類隻是簡單的建立一個對象,沒有什麼控制能力
           

f-sp-34. 事務的安全問題:鎖機制的實作原理及在項目中的使用