Spring基础知识记录

  1.spring框架的优点

    a.方便解耦,简化开发

    b.AOP编程支持

    c.声明式事务管理

    d.方便程序测试

    e.方便集成其他框架

    f.降低JAVAEE API使用难度

  2.spring核心结构

    a.spring核心容器:管理Bean的创建、配置、管理   包含springbean工厂 为spring提供DI的功能

    b.面向切面编程:帮助应用解耦

    c.数据访问与集成

    d.Web

    e.Test

  3.spring核心思想

    1.IOC:控制反转   他是一种思想,描述的是JAVA中对象创建 管理交由spring容器完成。

      a.解决了对象之间的耦合问题。

    2.DI:依赖注入  对象的其他依赖对象注入  (A类中依赖B类  需要将B类注入给A)

      BeanFactory: 是个Bean工厂   负责生产和管理bean 的工厂,是IOC容器最底层的接口,是Spring用来管理和装配普通Bean的IOC容器。

      FactoryBean:是个Bean 是Spring 提供工厂Bean的一个接口,生成某一个类型Bean实例,可以自定义Bean 的创建过程。

      ApplicationContext 是它的一个子接口,具有Beanfactory 所有功能  是容器的高级接口   具有国际化、资源访问等待

    3.AOP:面向切面编程(OOP面向对象)

      解决了什么问题?

        在不改变原有业务逻辑情况下,增强横切逻辑代码,在根本上解耦合,避免横切代码重复

      a.切: 指 横切逻辑代码   原有业务逻辑代码我们不能动,只能操作横切逻辑代码,所以⾯向横切逻辑

      b.面:横切逻辑代码往往影响多个方法  每个方法都如同一个点  多点成面。

      实现方式:

  4.spring bean 的生命周期

    1.单列模式下

      a.对象出生:创建容器,对象就被创建了

      b.对象活着:容器在,对象就一直或者。

      c.对象死亡:当销毁容器时,对象就被销毁了

      单列模式的bean生命周期与容器相同

    2.多列模式      

      a.对象出生:创建容器,对象就被创建了

      b.对象活着:容器在,对象就一直或者。

      c.对象死亡:对象长时间不使用,被jvm回收

      多例模式的bean对象,spring框架只负责创建,不负责销毁。

      实例化bean==>设置对象属性==>处理Aware接口==>BeanPostProcessor(这里可以对bean做一些自定义处理)==》InitializingBean 与 init-method:如果配置文件配置这个init-method 则在这个步骤调用其配置的初始化方法==>如果bean实现了BeanPostProcessor接口,将调用postProcessAfterInitialization由于这个方法是在Bean初始化结束时调用的,所以可以被应用于内存或缓存技术==>DisposableBean:当Bean不再需要时,会经过清理阶段,如果Bean实现了DisposableBean这个接口,会调用其实现的destroy()方法==>destroy-method 最后,如果这个Bean的Spring配置中配置了destroy-method属性,会自动调用其配置的销毁方法。

原文地址:https://www.cnblogs.com/qi2332356/p/13509760.html