Spring 控制反转IOC和面向切面AOP
程序员文章站
2022-07-12 13:02:38
...
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 入门
下一篇: 【Spring】——IOC原理(二)
推荐阅读
-
NSpring.Net学习 控制反转(IoC)和面向切面编程(AOP)(转)
-
NSpring.Net学习 控制反转(IoC)和面向切面编程(AOP)(转)
-
Spring 控制反转IOC和面向切面AOP
-
Spring学习笔记——一、控制反转(IOC)和依赖注入(DI)
-
Spring之重点知识 IOC(控制反转)和AOP(面向切面编程)学习小结
-
Spring框架(Framework)之IOC(控制反转)和AOP(面向切面编程)核心特性学习
-
Spring 整体学习(IOC容器 DI依赖注入 AOP 面向切面编程(动态代理) 配置注入 注解注入 )
-
spring框架学习之路(一)-入门基础(2)-动态代理和AOP(面向切面编程)
-
Spring AOP面向切面进行权限控制