Spring 控制反转IOC和面向切面AOP

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的结合
    一个线是一个特殊的面。
    一个切入点和一个通知,组成成一个特殊的面。
    在这里插入图片描述

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值