STS中AOP的实现
2024-10-06 19:24:58
1. 在pom.xml中加入aop依赖:
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
2.创建连接点(Jointed pointed)
Spring boot连接点(jointed pointed)是一个函数,它通常是一个服务中的函数,类上面用@Service标识;这个类的唯一要求是必须由一个接口实现,且连接点必须是接口中的一个函数。
3. 创建切面(Aspect)
Aspect是一个类,它由@Aspect标识,然后,其中包含了@Before, @Around, @After,@AfterReturn,@AfterThrowing标识的几个函数,用于织入连接点函数;为简化,这个类需要增加一个切点(@Pointcut函数)用于标识连接点函数,它用一个正则表达式表示连接点函数的全限定字串;
4.在主类中建立Aspect的初始化函数,它用@Bean标识,表示返回一个bean,返回类型是你前面定义的Aspect类;
4.创建一个控制器就可以测试了。
可以看出,这切面并不能控制连接点中的操作,它只是完成与连接点函数相关的一些事务性工作,如在调用连接点前要进行数据库连接,在完成存储后需要关闭连接,在发生异常后需要显示异常信息。
最新文章
- 【好书摘要】性能优化中CPU、内存、磁盘IO、网络性能的依赖
- 转:在VS2010下编译、调试和生成mex文件
- 使用Servlet和jdbc创建用户登录验证
- SQLServer事务
- storm - 基础概念整理
- 简单的activemq的封装和使用
- spring mvc DispatcherServlet详解之interceptor和filter的区别
- 用response输出一个验证码
- ES2:ElasticSearch 集群配置
- 致DBA:为什么你经常犯错,是因为你做的功课不够
- hdu 5480(前缀和)
- Android 高级控件(七)——RecyclerView的方方面面
- Linux-ftp服务搭建
- Django电商项目---完成注册页面和用户登录day1
- PHP之字符串类型
- WPF经典编程模式-MVVM示例讲解
- Anaconda+django写出第一个web app(九)
- geoserver 添加图层数据
- ES之六:ElasticSearch中Filter和Query的异同
- python is 和 == 的区别