spring 概述

Posted 陈标

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring 概述相关的知识,希望对你有一定的参考价值。

spring 

  1、容器:整合其它框架,将bean纳入容器中。

  2、使用IOC解耦合。

    Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。

    Dependency Injection,即“依赖注入”:组件之间依赖关系。

    旧的方式:每个对象负责管理与自己互相协作的对象,如:Action中,需要的Service对象,都需要自己创建(代码耦合度高)。

    spring的IOC:所有的对象,都在spring容器中创建;对象间的关系,用DI进行关联。配合接口开发模式进行使用,当需要修改Service的具体实现时,不再需要修改Action中的代码,修改注解或者修改配置文件即可实现。

  3、使用AOP处理事务。

     spring AOP 只支持方法连接点。

    AspectJ、JBoss支持方法、构造器、字段的连接点,功能更强大。

 

 

 

 

一、IOC(Inversion of Control,控制反转)(Dependency Injection,依赖注入DI):
  由spring来控制对象的生命周期和对象间的依赖关系。
  参考:https://www.cnblogs.com/ITtangtang/p/3978349.html


二、AOP(Aspect Oriented Programming,面向切面编程)
  参考:https://www.cnblogs.com/xrq730/category/941473.html

  spring 动态代理的实现:
    JDK: InvocationHandler,Proxy
    cglib:MethodInterceptor,Enhancer

    spring aop的原理:
      默认使用JDK动态代理技术。
      为什么使用JDK作为默认的代理技术?
      1、创建代理类速度:JDK使用面向接口编程,而cglib使用继承父类动态生成字节码技术,因此JDK创建代理的速度更快。
       2、运行速度:cglib直接调用父类的被代理方法,而JDK需要使用反射调用被代理类的方法,所以运行速度cglib更快。


三、三级缓存(解决循环依赖问题)

  https://www.jianshu.com/p/6c359768b1dc

 

以上是关于spring 概述的主要内容,如果未能解决你的问题,请参考以下文章

Spring框架Spring概述及基本应用

Spring概述

Spring概述

Spring 从入门到精通系列 01——Spring概述与体系结构总结

基础知识(09) -- Spring 概述

最新最全面的Spring详解——Spring概述与IOC容器