天天看點

Spring面試題

1.談談你對Spring的了解

     Spring是一種架構,很多代碼的開發都依賴于它。它是一個存儲bean的容器,管理整個bean的生命周期。bean的注入可以通過配置檔案或者注解兩種方式。當你程式啟動的時候,Spring會把你配置檔案中有關bean的資訊去存儲在一個叫BeanDefinition的對象裡面,BeanFactory會根據你的對象資訊進行擴充,生成一個新的對象,當你想要使用這個對象的時候,通過getbean的方式即可拿到。

2.bean的生命周期

1.bean執行個體化,通過配置檔案或注解

2.bean的依賴注入,将這個bean相關的屬性注入

3.有關aware接口的依賴注入,它會注入一些有關beanid,bean工廠的一些有關資訊

4.BeanPostProcessor的一個前置的初始化

5.對象的本來的初始化

6.BeanPostProcessor的後置初始化操作

7.destroy的方式銷毀對象

3.AOP的底層原理

使用動态代理的方式去實作的,當你掃描到一個AOP的注解時,它會生成一個該類的代理類對象,該代理對象會按順序執行的切點的一個代碼順序

jdk的動态代理:實作接口

CGlib的動态代理:繼承子類,用于沒有接口的情況下

繼續閱讀