欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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术语【掌握】

  1. target:目标类,需要被代理的类。例如:UserService
  2. Joinpoint(连接点):所谓连接点是指那些可能被拦截到的方法。例如:所有的方法
  3. PointCut 切入点:已经被增强的连接点。例如:addUser()
  4. advice 通知/增强,增强代码。例如:after、before
  5. Weaving(织入):是指把增强advice应用到目标对象target来创建新的代理对象proxy的过程.
  6. proxy 代理类
  7. Aspect(切面): 是切入点pointcut和通知advice的结合
    一个线是一个特殊的面。
    一个切入点和一个通知,组成成一个特殊的面。
    Spring 控制反转IOC和面向切面AOP

本文章参考改编,原文链接https://www.cnblogs.com/li150dan/p/9524305.html

相关标签: ioc和aop spring