Java框架_Spring的DI,AOP,IOC的原理和应用分别是什么?

Spring AOP 原理:JDK动态代理

动态代理实现原理:一个实现接口的类可以做动态代理。我们需要实现的步骤是:

首先再写一个方法实现一个InvocationHandler接口,方法调用会被转发到该类的invoke()方法。

然后在需要使用Hello的时候,通过JDK动态代理获取Hello的代理对象。

以上是JDK动态代理的实现,我们在实现了invocationhandler接口的invoke方法中可以实现我们的逻辑操作,类中需要接口引用,带有接口引用为参数的有参构造方法,重写invoke方法

在我们需要代理的时候写入这些代码

Proxy.newProxyInstance(ClassLoader loader, Class[] interfaces, InvocationHandler handler)

参数1,实现接口也就是代理对象的类加载器

参数2,实现的接口

参数3,实现invocationhandler接口的类

因此,JDK代理会把所有实现接口的方法转发到invocationhandler中的invoke方法中,我们可以在这里实现任何的逻辑要求

AOP使用场景概述:

Persistence  持久化

Synchronization 同步

Transactions 事务

Spring IOC和SpringDI原理:Java反射

IOC容器通过Java反射技术利用Java注解(Autowired和Resource)根据配置文件初始化对象注入到类中

IOC初衷:为了解耦

依赖注入(DI)和控制反转(IOC)是从不同的角度的描述的同一件事情,就是指通过引入IOC容器,利用依赖关系注入的方式,实现对象之间的解耦。

依赖注入(DI)和控制反转(IOC)是从不同的角度的描述的同一件事情,就是指通过引入IOC容器,利用依赖关系注入的方式,实现对象之间的解耦

SpringIOC其实是IOC思想的一种实现

参考博文:

https://www.cnblogs.com/wang-meng/p/5597490.html

你可能感兴趣的:(Java框架_Spring的DI,AOP,IOC的原理和应用分别是什么?)