0%
Spring源码-Aspect-场景与接口
发表于:
Spring AOP Advice 场景
- 环绕通知(Interception Around Advice)
- public interface MethodInterceptor extends Interceptor
- 前置通知(Before Advice)
- public interface MethodBeforeAdvice extends BeforeAdvice
- 后置通知(After Advice)
- public interface AfterAdvice extends Advice
- 返回通知(After Returning Advice)
- public interface AfterReturningAdvice extends AfterAdvice
- 异常通知(Throws Advice)
- public interface ThrowsAdvice extends AfterAdvice
- 引入通知(Introduction Advice)
- public class DelegatingIntroductionInterceptor extends IntroductionInfoSupport implements IntroductionInterceptor
- public interface IntroductionInterceptor extends MethodInterceptor, DynamicIntroductionAdvice
- 引入通知的主要作用是可以让生成的代理类实现额外的接口。
Spring AOP 使用关键接口
- PointcutAdvisor = Advice + Pointcut
- Advice: AspectJAroundAdvice/AspectJMethodBeforeAdvice/AspectJAfterAdvice/AspectJAfterReturningAdvice/AspectJAfterThrowingAdvice
- Pointcut: AspectJExpressionPointcut
- PointcutAdvisor: InstantiationModelAwarePointcutAdvisorImpl instanceof PointcutAdvisor
- Advisor refers to PointcutAdvisor
Advisor
| |
Advice
| |
| |
Pointcut
| |
END
SpringBoot文件下载
发表于:
背景
HTTP头部默认只支持ISO-8859-1字符集,直接使用中文会导致乱码或解析错误。
文件下载响应体方案
| |
描述
MySQL存储过程与函数事务特性介绍
发表于:
Chrome调试技巧
发表于:
Chrome 开发者控制台的 Console 页使用 fetch 命令调试接口技巧
在 Chrome 开发者控制台的 Network 页可以获取请求的 fetch 格式。
“Copy”–>“Copy as fetch”
注意事项
- Chrome 开发者控制台的 Console 不展示 log 级别的日志,原因未知。因此使用 error 级别的日志展示信息。
- 下载文件时,建议使用准确的文件扩展名。例如 Excel 格式的文件的文件名称应当使用文件扩展名 .xlsx 或 .xls,Tar.gz 格式的文件的文件名称应当使用文件扩展名 .tar.gz。
- 上传文件时,应当注意,需要删除Content-Type属性,完全由
"body": formData自动指定。
普通GET、PUT,文件上传、文件下载接口都可以使用。
MySQL-SELECT语句执行顺序
发表于:
SELECT语句执行顺序
- WITH (CTE, COMMON TABLE EXPRESSIONS)
- FROM
- ON
- JOIN
- WHERE
- GROUP BY
- HAVING
- SELECT, WINDOW FUNCTION
- SELECT DISTINCT
- UNION, INTERSECT, EXCEPT
- ORDER BY
- LIMIT, OFFSET
- FOR UPDATE, FOR NO KEY UPDATE, FOR SHARE, FOR KEY SHARE
Window functions are permitted only in the select list and ORDER BY clause. Query result rows are determined from the FROM clause, after WHERE, GROUP BY, and HAVING processing, and windowing execution occurs before ORDER BY, LIMIT, and SELECT DISTINCT.