上一篇 <<<Spring Servlet相关知识
下一篇 >>>Web项目的启动方式汇总
SpringMVC的核心原理:DispatchServlet
SpringIOC的核心原理:反射+工厂模式
SpringAOP的核心原理:动态代理
SpringBean生命周期最重要的是方法前后的处理器,使用模板方法设计模式
SpringMVC包装了Servlet
SpringBoot包装了SpringMVC,采用了注解形式。
Spring的作用域有那些
作用域 | 描述 |
---|---|
singleton | 在Spring IOC容器仅存在一个bean实例,是bean作用域范围的默认值 |
prototype | 每次从容器中调用bean时,都返回一个新的实例,相当于执行了new XxxBean() |
request | 每次http请求都会创建一个新的bean,该作用域仅适用于web的Spring WebApplicationContext环境 |
session | 同一个http session共享一个bean,不同session使用不同的bean。该作用域仅适用于web的Spring WebApplicationContext环境 |
application | 限定一个bean的作用域是ServletContext的生命周期。该作用域仅适用于web的Spring WebApplicationContext环境 |
BeanDefinition的作用
真正bean的描述,包括:单例、返回值、作用域、懒加载等很多信息。
FactoryBean与BeanFactory区别
BeanFactory是个Factory,也就是IOC容器或对象工厂.
FactoryBean是个Bean.
在Spring中,所有的Bean都是由BeanFactory(也就是IOC容器)来进行管理的。
但对FactoryBean而言,这个Bean不是简单的Bean,而是一个能生产或者修饰对象生成的工厂Bean,它的实现与设计模式中的工厂模式和修饰器模式类似
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.构造函数
b.setter注入
c.p名称空间注入属性值
ServletContainerInitializer的作用
在web容器启动时为提供给第三方组件做一些初始化的工作,例如注册servlet、 filtes和监听器等。
推荐阅读:
<<<Spring Servlet相关知识
<<<Web项目的启动方式汇总
<<<SpringMVC底层无web.xml启动原理分析
<<<SpringMVC运行流程
<<<DispatcherServlet执行原理分析
<<<过滤器与拦截器的区别
<<<SpringMVC拦截器的用法
<<<SpringMVC异步实现方式
<<<@Async注解的失效之谜
<<<SpringMVC适配器类型汇总
网友评论