小小千想和您聊一聊

当前位置: 首页> 技术分享> 使用AOP功能和ThreadLocal类实现自定义事务管理

使用AOP功能和ThreadLocal类实现自定义事务管理

  首先,需要理解ThreadLocal类的作用。ThreadLocal是为了在同一个线程中共享数据,具体原理可以参考源代码,如下:

  设置值实际上就是通过map存放的,与map不同的是固定将当前线程作为key值。

  获取值时通过当前线程去获取值,所以如果在同一个线程中,前面存进去的值,后面是可以取出来用的,以达到线程共享数据的目的。

  接下来的例子中,主要是把一个线程中的连接共享,以达到一个线程共享一个连接,因为只有这样,才能够做到事务操作,因为同一个事务必须要求在同一个连接中,才能保证数据安全。具体代码如下:

  在service层中,由于所有的方法都需要处理业务之外的内容,比如连接开启和关闭,事务的提交回滚等,这些应该属于AOP中切面的内容,可以提取出来解决,切面代码如下:(通过设置service层的around通知完成)

上一篇:HTML5工具初识之网页编辑器

下一篇:SQL语言之索引

QQ技术交流群

千锋Java开发官方①群
811099962

加入群聊