浅识AOP
Aspect Oriented Programming(AOP)译作“面向切面编程”
思路
简单说就是用切面去切义务类,然后对这个义务类进行操作。本案例使用环绕通知。
准备工作
1、jar包:(需要jar包的留言或者去中央仓库选择性下载对应的jar包)
2、一个义务类ProxyBean
3、一个切面类LogAspects
4、一个配置类AopConfig
5、一个主启动类Main
义务类代码
@Component
public class ProxyBean {
public void play(){
System.out.println("玩一下下!!!");
}
}
切面类代码
@Component
@Aspect
public class LogAspects {
@Around("execution(* com..*.play())")
public void log(ProceedingJoinPoint joinPoint) throws Throwable {
Object[] args = joinPoint.getArgs();
System.out.println("打印日志喽!!!");
joinPoint.proceed(args);
System.out.println("打印日志喽!!!");
}
}
配置类代码:
@Configuration
@ComponentScan(basePackages = {"com.test"})
@EnableAspectJAutoProxy
public class AopConfig {
}
主启动类代码
public class Main {
public static void main(String[] args) {
ApplicationContext context = new AnnotationConfigApplicationContext(AopConfig.class);
ProxyBean proxybean = (ProxyBean) context.getBean("proxyBean");
proxybean.play();
}
}
运行结果
结束语
万丈高楼平地起,辉煌只能靠自己!