Spring 核心技术 IOC 和 AOP

什么是Spring?

Spring 作为 Java EE 编程领域的一款轻量级的开源框架,可以简化 Java 企业级应用程序的开发难度和周期,它的核心为:IOC(Inversion of Control 控制反转)、AOP(Aspect Oriented Programming 面向切面编程)

通俗来说spring是用来创建bean,管理bean和bean之间的关系

IOC:控制反转

控制反转,即创建对象实例的控制权反转,需要的资源不是自己本身创建,由第三方创建,然后第三方提供使用权限。

换句话说,调用者掌握着被调用者对象创建的控制权。

IOC三种注入方式

(1)属性注入(setter注入):在类里面声明属性,写set方法注入属性

(2)构造器注入:通过容器触发一个类的构造器来实现的,该类有一系列参数,每个参数代表一个对其他类的依赖。

(3)注释注入:在开发的类使用@Controller,@Service等注解

AOP:面向切面编程

即在不影响核心业务模块的前提下,新增其他功能。在模型切面编程中,将与核心业务无关但又影响着多个类的公共行为封装到一个单独的模块,从而降低模块间的耦合度,并实现复用,这种开发思想则被称为面向切面编程。

AOP两种代理机制

jdk动态代理:只能代理被接口修饰的类,利用反射机制生成的一个实现代理接口的匿名类。

CGLIB动态代理:利用asm开源包,来生成class,通过修改其字节码生成的子类来处理。比jdk代理效率高。

你可能感兴趣的:(spring,java,学习)