心脏固定在什么地方【自用】AOP

新闻资讯2026-04-24 02:51:25

不做笔记了

Java反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对象的方法;生成动态代理。

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第1张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第2张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第3张

比如加新的付款方法,有活动,要改里面的付款流程等等,卧槽,想想就可怕,改一个地方,其他地方,BOOM的就炸了

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第4张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第5张

这里面的user也应该是一个完整的对象

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第6张

比如它的个人信息,邮箱之类的

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第7张

卧槽,等会!!!!!!要是我的某一个付款平台变了,这个统一的接口肯定就不能要了,那我怎么办,用动态代理实现执行部分功能不就行了嘛

比如统一的接口肯定有一些什么用户校验之类的, 这些都是一样的,但是肯定有一些是不一样的,比如活动判断,我CNMD,NB啊

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第8张

一个接口,各自的平台写各自的

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第9张

这样就能计算时间了

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第10张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第11张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第12张
心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第13张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第14张

1、代码严重重复:重复添加,重复删除

2、辅助性的业务功能代码与核心业务代码偶合在一起,代码混乱;很容易造成bug,不好调试维护,升级维护都困难

对!!!!!就整个,妈的,测个核心代码,我还有跑一下辅助代码,之前可烦死我了,我就是想知道核心代码的问题

3、万一之后我的计算时间有bug,或者计算逻辑要改,那就是一个一个个改,我超

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第15张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第16张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第17张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第18张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第19张

就是我把辅助业务也封装成对象了

但是这个东西怎么用呢??

我要是把这个对象new 在这里,然后set数据进去,不是根之前一样了吗

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第20张

我是需要用一个静态代理把支付功能包进去吗

因为它的pay方法里面只有核心的业务逻辑

我想在这个核心的代码前后 加上我的日志代码

那我就给他创建代理

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第21张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第22张
心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第23张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第24张

笑死了,老师Date 转时间也不会了,老师说他一直用的都是工具类

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第25张

要不在创建代理的时间,把支付类型放进去(肯定不用这种啊,多蛋疼啊)

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第26张

要不直接通过 看它走的是哪个实现类 ,去通过反射获取它的类名,当做付款渠道

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第27张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第28张

添加链接描述

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第29张

建立辅助对象

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第30张

插入耗时代码

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第31张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第32张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第33张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第34张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第35张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第36张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第37张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第38张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第39张
心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第40张

它里面这个

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第41张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第42张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第43张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第44张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第45张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第46张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第47张
心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第48张

当运行未知的Java程序的时候,该程序可能有恶意代码(删除系统文件、重启系统等),为了防止运行恶意代码对系统产生影响,需要对运行的代码的权限进行控制,这时候就要启用Java安全管理器。

添加链接描述
添加链接描述

先这样吧,我大概有那么一点朦胧的印象 关于 动态代理怎么实现的

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第49张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第50张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第51张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第52张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第53张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第54张

代码还是混杂的,只不过是在代理类里面混杂的

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第55张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第56张
心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第57张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第58张

错了,因为不确定性,最终里面只能获取到连接点信息

连接点信息,就是上面那一大堆

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第59张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第60张

连接点信息是spring帮我封装起来的一堆东西

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第61张
心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第62张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第63张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第64张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第65张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第66张

1.getMethods是获取类中所有公共方法,包括继承自父类的

2.getDeclaredMethods是获取类中自己声明的方法,即自己声明的任何权限的方法,包括私有方法

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第67张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第68张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第69张

连接点方法,需要被扩展的方法

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第70张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第71张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第72张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第73张

所谓环,就是环绕着这个方法在执行了就是

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第74张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第75张

这个里面可以直接调用 jp 来获取所有需要的属性

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第76张
心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第77张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第78张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第79张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第80张

除了连接点信息,还能取到返回值信息

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第81张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第82张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第83张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第84张

spring-context
Context可以理解为对BeanFactory的封装.包含BeanFactory选择/配置/Bean来源加载/定义容器启动流程,为其提供上下文以及丰富的拓展,这是直面使用者的接口.

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第85张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第86张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第87张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第88张

就是这玩意

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第89张

老师说这个在项目中是不用的。。。??

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第90张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第91张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第92张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第93张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第94张

二、ThreadLocal与Synchronized的区别
ThreadLocal其实是与线程绑定的一个变量。ThreadLocal和Synchonized都用于解决多线程并发访问。

但是ThreadLocal与synchronized有本质的区别:

1、Synchronized用于线程间的数据共享,而ThreadLocal则用于线程间的数据隔离。

2、Synchronized是利用锁的机制,使变量或代码块在某一时该只能被一个线程访问。而ThreadLocal为每一个线程都提供了变量的副本

,使得每个线程在某一时间访问到的并不是同一个对象,这样就隔离了多个线程对数据的数据共享。

而Synchronized却正好相反,它用于在多个线程间通信时能够获得数据共享。

一句话理解ThreadLocal,向ThreadLocal里面存东西就是向它里面的Map存东西的,然后ThreadLocal把这个Map挂到当前的线程底下,这样Map就只属于这个线程了。

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第95张

老师好像有解决办法,但是说那是新技术,先不讲

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第96张

@PostContruct是Java自带的注解,在方法上加该注解会在项目启动的时候执行该方法,也可以理解为在spring容器初始化的时候执行该方法。
添加链接描述

添加链接描述

添加链接描述

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第97张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第98张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第99张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第100张

不对,上面的理解错了

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第101张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第102张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第103张

超了,我要是不懂 Alias 这个英文,这个知识点又要模模糊糊的过去了,学学英文然后去google问题啊,加油!!

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第104张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第105张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第106张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第107张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第108张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第109张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第110张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第111张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第112张
心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第113张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第114张

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第115张

懂了,只进了一个方法,不是进了一个数组

心脏固定在什么地方【自用】AOP_https://www.jmylbn.com_新闻资讯_第116张