Spring原理匯總及零碎知識點

上一篇 <<<Spring Servlet相關(guān)知識
下一篇 >>>Web項目的啟動方式匯總


SpringMVC的核心原理:DispatchServlet
SpringIOC的核心原理:反射+工廠模式
SpringAOP的核心原理:動態(tài)代理
SpringBean生命周期最重要的是方法前后的處理器,使用模板方法設(shè)計模式
SpringMVC包裝了Servlet
SpringBoot包裝了SpringMVC,采用了注解形式。

Spring的作用域有那些

作用域 描述
singleton 在Spring IOC容器僅存在一個bean實例,是bean作用域范圍的默認值
prototype 每次從容器中調(diào)用bean時,都返回一個新的實例,相當于執(zhí)行了new XxxBean()
request 每次http請求都會創(chuàng)建一個新的bean,該作用域僅適用于web的Spring WebApplicationContext環(huán)境
session 同一個http session共享一個bean,不同session使用不同的bean。該作用域僅適用于web的Spring WebApplicationContext環(huán)境
application 限定一個bean的作用域是ServletContext的生命周期。該作用域僅適用于web的Spring WebApplicationContext環(huán)境

BeanDefinition的作用

真正bean的描述,包括:單例、返回值、作用域、懶加載等很多信息。

FactoryBean與BeanFactory區(qū)別

BeanFactory是個Factory,也就是IOC容器或?qū)ο蠊S.
FactoryBean是個Bean.
在Spring中,所有的Bean都是由BeanFactory(也就是IOC容器)來進行管理的。
但對FactoryBean而言,這個Bean不是簡單的Bean,而是一個能生產(chǎn)或者修飾對象生成的工廠Bean,它的實現(xiàn)與設(shè)計模式中的工廠模式和修飾器模式類似

SpringBean實例化方式

1.BeanFactory

Resource xmlFile = new ClassPathResource("META-INF/beans.xml");
BeanFactory beanFactory = new XmlBeanFactory(xmlFile);
MyBean myBean = (MyBean) beanFactory.getBean("myBean");

2.ApplicationContext

ApplicationContext context = new ClassPathXmlApplicationContext("META-INF/beans.xml");
MyBean myBean = (MyBean) context.getBean("myBean");

SpringBean實例化機制

反射機制

SpringBean注入方式

a.構(gòu)造函數(shù)
b.setter注入
c.p名稱空間注入屬性值


ServletContainerInitializer的作用

在web容器啟動時為提供給第三方組件做一些初始化的工作,例如注冊servlet、 filtes和監(jiān)聽器等。


推薦閱讀:
<<<Spring Servlet相關(guān)知識
<<<Web項目的啟動方式匯總
<<<SpringMVC底層無web.xml啟動原理分析
<<<SpringMVC運行流程
<<<DispatcherServlet執(zhí)行原理分析
<<<過濾器與攔截器的區(qū)別
<<<SpringMVC攔截器的用法
<<<SpringMVC異步實現(xiàn)方式
<<<@Async注解的失效之謎
<<<SpringMVC適配器類型匯總

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容