Spring原理汇总及零碎知识点

上一篇 << 下一篇 >>>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名称空间注入属性值


Spring原理汇总及零碎知识点_第1张图片

ServletContainerInitializer的作用

在web容器启动时为提供给第三方组件做一些初始化的工作,例如注册servlet、 filtes和监听器等。


推荐阅读:
<< << << << << <<<过滤器与拦截器的区别
<< << <<<@Async注解的失效之谜
<<

你可能感兴趣的:(Spring原理汇总及零碎知识点)