Spring Boot【四】

devtools/2024/11/29 18:23:09/

单例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/devtools/137985.html

相关文章

泷羽sec-linux进阶

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

软件/游戏提示:mfc42u.dll没有被指定在windows上运行如何解决?多种有效解决方法汇总分享

遇到“mfc42u.dll 没有被指定在 Windows 上运行”的错误提示,通常是因为系统缺少必要的运行库文件或文件损坏。以下是多种有效的解决方法,可以帮助你解决这个问题: 原因分析 出现这个错误的原因是Windows无法找到或加载MFC42u.dll文件。这可…

【jvm】什么是动态编译

目录 1. 说明2. 实现方式3. 应用场景 1. 说明 1.在Java中,动态编译指的是在程序运行时动态地编译Java源代码,生成字节码,并加载到JVM(Java虚拟机)中执行。2.动态编译是在程序运行时,根据需要编译Java源代码…

【Spring源码核心篇-04】spring中refresh刷新机制的流程和实现

Spring源码核心篇整体栏目 内容链接地址【一】Spring的bean的生命周期https://zhenghuisheng.blog.csdn.net/article/details/143441012【二】深入理解spring的依赖注入和属性填充https://zhenghuisheng.blog.csdn.net/article/details/143854482【三】精通spring的aop的底层原…

C#基础题

用C#控制台程序来实现&#xff0c;从键盘输入5个整数&#xff0c;输出其中最大数 输入5个数我们为了方便&#xff0c;可以进行循环&#xff0c;代码如下&#xff1a; int max int.MinValue; for (int i 0; i < 5; i) { Console.WriteLine("请输入第 {0} 个整数:…

不需要双手离开键盘 vscode

目标是“不需要双手离开键盘”&#xff01; ctrl shift O 打开函数导航窗格 ctrl enter 行中换行 alt ↑/↓上下移行 shift alt ↑/↓上下复制 ctrl ←/→ 按代码块移动 ctrl delete / backspace按代码块删除 ctrl l 选择单行 shift delete 删除整行 ctrl C/V 复制/…

docker compose 使用记录

作用 Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。通过一个 YAML 文件来配置应用程序的服务&#xff0c;然后使用一个命令即可创建并启动所有服务。 文档位置 Part 7: Use Docker Compose | Docker Docs 使用方法 1. 安装 Docker Compose sudo curl -…

结构型模式-外观模式

外观模式&#xff08;Facade Pattern&#xff09;是一种结构型设计模式&#xff0c;用于为复杂子系统提供一个统一的、高层次的接口。通过外观模式&#xff0c;客户端无需深入了解子系统的内部复杂性&#xff0c;只需与外观类交互即可完成任务&#xff0c;从而简化了使用方式&a…