spring学习(22)-基于注解方式使用AOP

2025-06-06 07:45:09

1、下图是小编的spring的java项目目录结构,如下图:

spring学习(22)-基于注解方式使用AOP

2、下图中代码是小编这个maven项目的pom.xml文件配置,可以看出这个项目只是用到了两个包的依赖,一个是spring-context,一个是spring-aspects,如下图:

spring学习(22)-基于注解方式使用AOP

3、点击下面的【Deendency Hierarchy】查看包的依赖关系,可以看出pom.xml文件中配置的两个包依赖了很多包,我们只需要配置这两个包就可以通过maven的包依赖管理导入其他的包,如下图:

spring学习(22)-基于注解方式使用AOP

4、下图代码是小编编写的一个计算器的接口,里面包好了加减乘除四个方法,如下图:

spring学习(22)-基于注解方式使用AOP

5、下图代码是小编编写的实现计算机接口实现,如下图:

spring学习(22)-基于注解方式使用AOP

6、小编希望在加减乘除四个方法执行前打印一个日志,这里通过AOP的方法,首先新建一个日志的切片类,加入【@Compoent】注解使IOC容器管理这个切片类,加入【@Aspect】注解声明这个类为切面,然后新建一个方法用来打印一个日志,在方法前加入【@Before】注解声明该方法是在目标方法前执行,【@Before】后的值表明切入点在哪里,如下图:

spring学习(22)-基于注解方式使用AOP

7、然后在spring的配置文件中首先加入【context:component-scan】使spring自动扫描包,然后加入【aop:aspectj-autoproxy】使刚刚写的AspjectJ的注解生效,自动为匹配的类生成代理对象,如下图:

spring学习(22)-基于注解方式使用AOP

8、在主程序中写入一下代码,调用add方法,运行程序,查看控制台中可以看到在方法执行前正确输出日志,说明配置AOP成功,如下图:

spring学习(22)-基于注解方式使用AOP
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢