上一篇 <<<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適配器類型匯總
