Spring框架核心技术总结

1.控制反转IOC

方便解耦,简化开发;

通过Spring提供的IoC容器,可以将对象间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合。用户也不必再为单例模式类、属性文件解析等这些很底层的需求编写代码,可以更专注于上层的应用。

2.依赖注入DI

依赖注入的概念

    它是spring框架核心ioc的具体实现方式。简单的说,就是坐等框架把对象传入,而不用我们自己去获取。从此,当我们需要用到一个对象时,只需从从spring容器中获取即可(前提是你事先把那个对象交给了spring容器管理,即在xml中事先配置)

   依赖注入的两种方式:构造函数注入和set方法注入

  构造函数注入

    顾名思义,就是使用类中的构造函数,给成员变量赋值。注意,赋值的操作不是我们自己做的,而是通过配置的方式,让spring框架来为我们注入

   set方法注入

    顾名思义,就是在类中提供需要注入成员的set方法。

3.面向切面AOP

  AOP的作用及优势  

   作用:

    在程序运行期间,不修改源码对已有方法进行增强。

   优势:

    AOP是OOP的一种很好的补充,因为OOP的思想只能在类级别做到减少重复代码,在方法级别无能为力,而AOP可以做到在方法级别减少重复代码 ,提高开发效率 ,维护方便。

AOP实现的核心就是动态代理,动态代理能够做到字节码随用随创建,随用随加载。它与静态代理的区别也在于此。因为静态代理是字节码一上来就创建好,并完成加载。装饰者模式就是静态代理的一种体现。

动态代理常用的两种方式:

    基于接口的动态代理:

        提供者:JDK官方的Proxy类。

        要求:被代理类最少实现的一个接口。

    基于子类的动态代理:

        提供者:第三方的CGLib,如果报asmxxxx异常,需要导入asm.jar

        要求:被代理类不能用final修饰的类(最终类)。

 

 

 

你可能感兴趣的:(spring)