Spring原理汇总及零碎知识点

作者: 迦叶_金色的人生_荣耀而又辉煌 | 来源:发表于2021-02-19 07:23 被阅读0次

    上一篇 <<<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适配器类型汇总

    相关文章

      网友评论

        本文标题:Spring原理汇总及零碎知识点

        本文链接:https://www.haomeiwen.com/subject/egyxxltx.html