Spring 控制反转IOC和面向切面AOP
一、Spring的两大核心就是IOC和AOP
IOC(Inversion of Control): 是指反向控制。Spring框架在项目的启动时,就会帮我们创建配置的对象,并且将赋值给指定的对象。
AOP(Aspect Oriented Programming): 是指面向切面编程,思想是使代码可以更加灵活,具有拓展性,即在执行方法前先执行其他代码。比如日志、事务等
二、IOC基础例子:
这里给大家演示注解注入的例子
1、创建简单的boot项目,引入web依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
2、创建简单的java类,类中创建几个方法,类上加上注解。
@Component
public class User {
public void add() {
System.out.println("User Add Method.");
}
@Override
public String toString() {
return "This is a user object.";
}
}
3、在另一个类中使用注解注入,使用springTest测试
public class TestIoc {
@Autowired
User user;
@Test
public void test() {
user.add();
}
}
AOP面向切面编程
1、AOP实现原理
aop底层将采用代理机制进行实现。
接口 + 实现类 :spring采用 jdk 的动态代理Proxy。
实现类:spring 采用 cglib字节码增强。
2. AOP术语【掌握】
- target:目标类,需要被代理的类。例如:UserService
- Joinpoint(连接点):所谓连接点是指那些可能被拦截到的方法。例如:所有的方法
- PointCut 切入点:已经被增强的连接点。例如:addUser()
- advice 通知/增强,增强代码。例如:after、before
- Weaving(织入):是指把增强advice应用到目标对象target来创建新的代理对象proxy的过程.
- proxy 代理类
- Aspect(切面): 是切入点pointcut和通知advice的结合
一个线是一个特殊的面。
一个切入点和一个通知,组成成一个特殊的面。

本文章参考改编,原文链接https://www.cnblogs.com/li150dan/p/9524305.html
本文深入解析Spring框架的两大核心概念:控制反转(IOC)与面向切面编程(AOP)。通过实例演示了如何使用注解实现IOC,以及AOP的基本原理和术语,包括目标类、连接点、切入点、通知、织入和代理类的概念。
3181

被折叠的 条评论
为什么被折叠?



