AOP基本介绍
概念
OOP > 面向对象
AOP > 面向切面 (切面 切入点 - 面)
AOP 一般适用于, 具有横切逻辑的场合, 比如访问控制,事务管理,性能检测等等
Spring框架的AOP机制采用一种称为“横切”的技术,可以让开发者把业务流程中的通用功能抽取出来,单独编写功能代码。在业务流程执行过程中,Spring框架会根据业务流程要求,自动把独立编写的功能代码切入到流程的合适位置。
厨师 核心 打荷 辅助
打荷 备料 (鸡蛋 , 西红柿 )
大厨 开始炒菜
摆盘
代码 必须由程序员来操作完成的 核心
没有必要由程序要来手动编写的 辅助
程序员 书写两套 系统
以往接触过的类似逻辑
junit 的前置后置注解
原始方式
@Test
public void m1(){
// 前置功能(类似于配菜的工作)
long starttime;
long endtime;
starttime = System.currentTimeMillis();
String s = "";
for (int i = 0; i < 10000; i++) {
s += i;
}
// 后置功能(类似于洗碗的工作)
endtime = System.currentTimeMillis();
System.out.println("程序运行所耗时间为: "+ (endtime - starttime));
}
优化之后
// 计算程序运行所耗时间
public long starttime;
public long endtime;
@Before
public void start(){
starttime = System.currentTimeMillis();
}
@After
public void end(){
endtime = System.currentTimeMillis();
System.out.println("程序运行所耗时间为: "+ (endtime - starttime));
// 使用StringUtil 需要导入 飞龙依赖
// String s = StringUtil.format("程序运行所耗时间为: %s毫