欢迎光临
我们一直在努力

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

不做笔记了

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

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

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

在这里插入图片描述

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

在这里插入图片描述

这样就能计算时间了

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

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

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

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

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

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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

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

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

在这里插入图片描述

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

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

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

那我就给他创建代理

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

添加链接描述

在这里插入图片描述

建立辅助对象

在这里插入图片描述

插入耗时代码

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

它里面这个

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

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

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

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

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

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

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

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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

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

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

就是这玩意

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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

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

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

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

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

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

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

在这里插入图片描述

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

在这里插入图片描述

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

添加链接描述

添加链接描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

不对,上面的理解错了

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

赞(0)
未经允许不得转载:上海聚慕医疗器械有限公司 » 心脏固定在什么地方【自用】AOP

登录

找回密码

注册