摘要:
一、AOP整体流程介绍 1、spring 实例化单例bean,第一次调用后置处理器,解析切面@Aspect ,解析切面中的 @Pointcut @befor @after等,生成advisors(说明 一个 @before + 切点 生成一个advisor) 1.1 org.springframew 阅读全文
摘要:
需求背景:项目启动后初始化一个 url工厂,工厂中存放固定包路径下的controller中使用 自定义注解 UpperLimitAnnotation 的方法的请求 全路径;实现方式:反射+spring InitializingBean接口; 扩展场景:初始化其他类型工厂,如 策略模式中的策略工厂等 阅读全文
摘要:
1.什么是AOP 与OOP对比,AOP是处理一些横切性问题,这些横切性问题不会影响到主逻辑实现的,但是会散落到代 码的各个部分,难以维护。AOP就是把这些问题和主业务逻辑分开,达到与主业务逻辑解耦的目的。 2. AOP的应用场景 日志记录 权限验证 效率检查 事务管理 问题: Aspectj 和sp 阅读全文
摘要:
接了一个需求,公司有要调用一个其他平台的收费接口,调用一次,收取一次费用;需要封装一下,防止被恶意盗刷;自己思考了一下,,记录每个用户的访问次数,调用一次,累计数量+1,当达到设置上限 是,直接返回提示信息;; 初步构思,从2个维度限制;1、限制每个用户每小时内的最大访问次数,,2限制每个用户每天的 阅读全文
摘要:
1、修改pom <packaging>war</packaging> 2、移除spring-boot-starter-web依赖中的tomcat依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring 阅读全文
摘要:
springboot项目打成的jar包一般通过 java-jar xxx.jar命令启动,原理: 原理:查看解压后的demo/target/demo/META-INF/MANIFEST.MF 通过java-jar的方式启动 springboot项目时,首先找到 上图 文件中的 Main-Class 阅读全文
摘要:
说明:本次ArrayList的源码阅读是基于 jdk1.8 public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable { pr 阅读全文
摘要:
情景分析 在Spring的诸多应用场景中bean都是单例形式,当一个单利bean需要和一个非单利bean组合使用或者一个非单利bean和另一个非单利bean组合使用时,我们通常都是将依赖以属性的方式放到bean中来引用,然后以@Autowired来标记需要注入的属性。但是这种方式在bean的生命周期 阅读全文
摘要:
一、Spring 中观察者模式的四个角色 1. 事件(ApplicationEvent) ApplicationEvent 是所有事件对象的父类。ApplicationEvent 继承自 jdk 的 EventObject, 所有的事件都需要继承 ApplicationEvent, 并且通过 sou 阅读全文
摘要:
1、 数据库事务特性 1.1 ACID特性 事务(Transaction)是数据库系统中一系列操作的一个逻辑单元,所有操作要么全部成功,要么全部失败。 事务是区分文件存储系统(关系型数据库)与Nosql数据库的重要特性之一,其存在的意义是为了保证即使在并发的情况下也能正确执行crud操作。怎样才算是 阅读全文