Spring Boot【四】

embedded/2024/11/29 9:25:31/

单例bean中使用多例bean

1.lookup-method方式实现
当serviceB中调用getServiceA的时候,系统自动将这个方法拦截,然后去spring容器中查找对应的serviceA对象然后返回

2.replaced-method:方法替换
我们可以对serviceB这个bean中的getServiceA方法进行拦截,把这个调用请求转发到一个替换者处理。

CGLIB和Java动态代理的区别:

1、Java动态代理只能够对接口进行代理,不能对普通的类进行代理(因为所有生成的代理类的父类为Proxy,Java类继承机制不允许多重继承);CGLIB能够代理普通类;
2、Java动态代理使用Java原生的反射API进行操作,在生成类上比较高效;CGLIB使用ASM框架直接对字节码进行操作,在类的执行过程中比较高效

注解是给编译器和虚拟机看的

1.定义注解语法
@interface来定义,如下定义一个名称为MyAnnotation的注解: public @interface MyAnnotation { }
2.注解中定义参数

注解有没有参数都可以,定义参数如下:

public @interface 注解名称{
[public] 参数类型 参数名称1() [default 参数默认值];
[public] 参数类型 参数名称2() [default 参数默认值];
[public] 参数类型 参数名称n() [default 参数默认值]; }

3.指定注解的使用范围:@Target
4.指定注解的保留策略:@Retention
@Retention(RetentionPolicy.SOURCE)
public @interface MyAnnotation {
}

上面指定了MyAnnotation只存在于源码阶段,后面的2个阶段都会丢失。


http://www.ppmy.cn/embedded/141420.html

相关文章

Cobalt Strike 4.8 用户指南-第十一节 C2扩展

11.1、概述 Beacon 的 HTTP 指标由 Malleable Command and Control (Malleable C2) 配置文件控制。Malleable C2 配置文件是一个简单的程序,它指定如何转换数据并将其存储在事务中。转换和存储数据的同一程序(向后解释&#xff0…

uniapp css无法显示进度条的问题解决

最近在开发uniapp页面时 发现即使写了css overflow: scroll强制显示滑动进度条 依然没有显示,想了想,肯定是官方的样式表做了相应的处理。果然一检查,在全局样式发现了: ::-webkit-scrollbar { display: none; } 因此,…

某科技研发公司培训开发体系设计项目成功案例纪实

某科技研发公司培训开发体系设计项目成功案例纪实 ——建立分层分类的培训体系,加强培训跟踪考核,促进培训成果实现 【客户行业】科技研发行业 【问题类型】培训开发体系 【客户背景】 某智能科技研发公司是一家专注于智能科技、计算机软件技术开发与…

【HarmonyOS学习日志(10)】一次开发,多端部署之功能级一多开发,工程级一多开发

功能级一多开发 SysCap机制介绍 HarmonyOS使用SysCap机制(即SystemCapability),可以帮助开发者仅关注设备的系统能力,而不用考虑成百上千种具体的设备类型。 在过去,开发不同设备上的应用就用不同设备的SDK进行开发&…

深度学习基本单元结构与输入输出维度解析

深度学习基本单元结构与输入输出维度解析 在深度学习领域,模型的设计和结构是理解其性能和应用的关键。本文将介绍深度学习中的基本单元结构,包括卷积神经网络(CNN)、反卷积(转置卷积)、循环神经网络&…

泷羽sec-linux进阶

基础之linux进阶 声明! 学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽…

【YOLO系列复现】二、基于YOLOv6的目标检测:YOLOv6训练自己的数据集(史诗级详细教程)

官方模型:YOLOv6/README_cn.md at main meituan/YOLOv6 目录 1、模型和环境准备 1.1 模型下载 1.2 依赖环境安装 1.3 权重文件下载 1.4 环境测试 2、配置文件和数据集准备 2.1 准备数据集 2.2 配置文件准备 2.3 BUG修改 3、模型训练 3.1 模型训练 3.2 …

IDEA 2024 Maven 设置为全局本地仓库,避免新建项目重新配置maven

使用idea创建Java项目时每次都要重新配置Maven,非常麻烦。其实IDEA可以配置全局Maven。方法如下: 1.关闭所有项目进入初始页面 2.选择所有配置 3.设置为自己的路径