什么是Spring IoC 和 AOP?

前言

IoC 是 Spring 全家桶各个功能模块的基础,是创建对象的容器。AOP 也是以 IoC 为基础,AOP 是面向切面编程,抽象化的面向对象。

Spring IoC:

Spring IoC实现控制反转,将对象的创建进行反转。常规情况下,对象都是开发者手动创建的;而使用 IoC 后,开发者不再需要创建对象,而是由 IoC 容器根据需求自动创建项目所需要的对象。可理解为工厂。

实现的方式:
(1)基于XML方式:开发者把需要的对象在 XML 中进行配置,Spring框架读取这个配置文件,根据配置文件的内容来创建对象
(2)基于注解

1、配置类:用一个 Java 类来替代 XML 文件,把在 XML 中配置的内容放到配置类中。
2、扫包+注解:更简单的方式,不再需要依赖于 XML 或者配置类,而是直接将 bean 的创建交给目标类,在目标类添加注解来创建

具体的实现方式另查,个人觉得还是扫包+注解更加方便。

Spring AOP

AOP是面向切面编程,是一种抽象化的面向对象编程,对面向对象编程的一种补充,底层使用动态代理机制来实现。多用于:
1、打印日志
2、事务
3、权限处理

作用:AOP实现了高内聚、低耦合,在切面集中实现横切关注点(缓存、权限、日志等),然后通过切点配置把代码注入到合适的位置。

比如在所有的事务的开始和结束都要打印一次日志,就可以使用AOP技术将打印日志的行为抽出去进行统一处理。

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