• IOC 控制反转
  • AOP 面向切面编程

IOC

作用: 不用开发者手动new创建对象,直接由Spring的容器进行管理,需要用的时候直接获取即可.

IOC的使用场景

  • 正常情况下我们使用一个对象时都是需要new Object() 的。而ioc是把需要使用的对象提前创建好,放到spring的容器里面。需要使用的时候直接使用就行,而且可以设置单例或多例,非常灵活。
  • 我们在service层想调用另外一个service的方法,不需要去new了,直接把它交给spring管理,然后用注解的方式引入就能使用

AOP

什么是 AOP,AOP 的作用是什么?

AOP的使用场景

  • 事务管理
    • 访问数据库,而你不想管事务,所以,Spring在你访问数据库之前,自动帮你开启事务,当你访问数据库结束之后,自动帮你提交/回滚事务!
  • 权限检查
    • 判断用户访问接口是否具有可执行权限(切自定义注解)
  • 日志记录
    • 登录日志和操作日志就是通过aop+反射的方式实现的

常见通知

  • 前置通知 @Before
  • 后置通知 @After
  • 返回通知 @AfterReturning
  • 异常通知 @AfterThrowing
  • 环绕通知 @Around