ssm面试题整理
spring的核心
spring我經常用到的兩個核心就是IOC 和 AOP
-
IOC主要是負責維護管理對象和解耦
底層:
ioc的底層是一個MAP容器 使用工廠模式BeanFactory Properties讀取配置文件形成流通過property.getProperty("beanID")獲得當前bean的全限定類名,根據Class.forName()進行反射,獲取對象bean,再put進入map
用法:
在配置文件中配置bean標簽 使用class屬性以及id便于獲取bean放入容器
或者
在類上加@Configuration注解在相應的方法上@bean(id="")來放入容器
依賴注入
當大家都放到容器map當中就能夠達到一定程度的解耦 比如從前的MVC三層架構 都是調用者new一個被調用者 而現在我們可以采用依賴注入
使用set或者constructor或者接口進行依賴注入來調用
@Autowired 類型 @Resorcces名字
控制反轉
從前是我們自己去new對象 現在是將權限給了框架 -
AOP:
oop思想 與業務邏輯沒有關系但是和業務邏輯一起被調用的代碼很多
我們希望將其抽出來 通常是事物管理 日志管理 權限管理
動態代理
PRoxy類 InnvactionHANDEL接口 橫切代碼
proxy.new Instance(加載其 接口 Innovationhandel)
method.invoke
1.aop中增強的方法都有哪些注解?一個切面下他們執行的順序?
@around @before @after @afterReturning @afterThrowing
可以看第一篇文章或者第三篇
2. @before可以被打斷么?
1.aop中多個aspect 多個aspect的順序怎么布置?
實現注解的order接口進行getOrder()來返回具體的順序
注解@Order(1)
配置文件加order=" "
并且order越小越先執行 越后結束
請看第2篇文章的實心圓圖片和第一篇文章中兩個aspect的增強流程圖
2.多個切面的增強方法怎么執行?
同樣看第一篇文章的流程圖
按順序讀以下的文章
1.Spring AOP @Before @Around @After 等 advice 的執行順序
2怎么控制多個aop的執行循序
3.Spring AOP之坑:完全搞清楚advice的執行順序
SpringMVC
1.controller是單例還是多例的? 默認單例
多例的關鍵字是什么? socpe=“prototype”
SpringMVC Controller單例和多例
2.多例的多個controller調用的順序是什么?
3.掃描的包 都掃描什么范圍?
Mybatis:
sqlsessionfactorybuilder是一個構建器 為了是生成sqlsessionfactory的接口實現類 首先inputstream讀取一個流 在生成實現類的時候會生成xmlconfig讀取流 生成全局配置文件對象configuration 將對象賦給sqlsessionfactory就生成了接口
sqlseesion tracnsation接口 excuor執行器 執行事物
${ } 和 #{ }的區別以及什么情況下要用 ${ }
說一下堆和棧的對象
${}用在我們能夠確定值的地方,表名或列名
總結
- 上一篇: android无线充产品,一天售罄!鲁蛋
- 下一篇: VB简易浏览器设计