场景:整个系统的DML操作需要记录日志 记录内容:1 操作人 2 操作时间 3 操作类型(登录 新增 修改 删除) 4 操作描述 5 详细请求数据(varchar2()) 6 操作IP ==>日志表 实现: 原来方式:在每个方法的里面编写记录日志代码; 缺点:代码重复 ,与原有逻辑耦合度高。 AOP ...
分类:
其他好文 时间:
2020-06-03 23:24:58
阅读次数:
75
结合 AOP 轻松处理事件发布处理日志 Intro 前段时间,实现了 EventBus 以及 EventQueue 基于 Event 的事件处理,但是没有做日志(EventLog)相关的部分,原本想增加两个接口, 处理事件发布日志和事件处理日志,最近用了 AOP 的思想处理了 EntityFrame ...
分类:
其他好文 时间:
2020-06-03 23:23:40
阅读次数:
57
在使用xml配置spring aop的时候一般有两种方式 1 <aop:advisor> :基本上用于事务管理 2 <aop:aspect> :日志 缓存 增强等功能 实现方式 <aop:advisor> 需要实现接口 1 环绕切: 实现 MethodInterceptor 接口 2 前切:实现 M ...
分类:
编程语言 时间:
2020-06-02 13:39:02
阅读次数:
137
本教程源码请访问:tutorial_demo 一、什么是动态代理 1.1、概念 动态代理的用途与装饰模式很相似,就是为了对某个对象进行增强。所有使用装饰者模式的案例都可以使用动态代理来替换。 特点:字节码随用随创建,随用随加载; 作用:不修改源码的基础上对方法增强; 学习目的:为了学习AOP的原理做 ...
分类:
编程语言 时间:
2020-06-01 20:24:12
阅读次数:
54
为了记录日志的使用常常需要写大量而又重复的代码,而通过注解的形式可以大量的减少代码量; 一.maven引入AOP的依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-a ...
分类:
编程语言 时间:
2020-06-01 00:59:10
阅读次数:
79
一、 背景 一直想给项目构建一个统一的日志收集系统,先迈出第一步,构建一个日志收集类,用AOP实现无侵入日志收集 二、 环境 1.此随笔内容基于spring boot项目 2.数据库为mysql 5.7.9版本 3.jdk 版本为1.8 三、 说明 此版采用数据库存储,之后考虑使用elasticse ...
分类:
编程语言 时间:
2020-05-31 17:40:20
阅读次数:
90
默认spring只在发生未被捕获的runtimeexcetpion时才回滚。 最笨的办法:代码级控制:TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); 为何在aop advitor中配置rollba-for= ...
分类:
编程语言 时间:
2020-05-31 16:02:01
阅读次数:
62
引用学习 概述 SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。开发者可以自己定义一些拦截器来实现特定的功能。 过滤器与拦截器的区别:拦截器是AOP思想的具体应用。 过滤器 servlet规范中的一部分,任何java web工程都可以使 ...
分类:
编程语言 时间:
2020-05-31 13:07:56
阅读次数:
57
Spring的两大核心概念: Spring的IOC(依赖反转注入)和Spring的AOP(面向切面编程) 其中,这两者所处的位置(pic1) Spring的两大优势:方便解耦 方便AOP 声明式编程 方便测试 方便集成一些优秀的框架 方便使用JAVAEE的API Spring的体系架构: Sprin ...
分类:
编程语言 时间:
2020-05-31 12:57:05
阅读次数:
78
一.代理模式结构图 二.代理模式总结 定义 对不适合或者不能直接引用目标对象,代理对象作为客户端和目标对象之间的中介。 主要优点1. 代理对象在客户端与目标对象之间起到一个中介作用和保护目标对象的作用;2. 代理对象可以扩展目标对象的功能;3. 代理对象能将客户端与目标对象分离,在一定程度上降低了系 ...
分类:
其他好文 时间:
2020-05-30 15:41:45
阅读次数:
55