目录
2.如何实现一个自己的SpringBoot Starter?
8.SpringBoot默认是使用JDK动态代理还是CGLIB动态代理?
1.说一说SpringBoot的自动装备原理?
解释:
- 进入SpringBoot的main方法上的注解@SpringBootApplication
2.如何实现一个自己的SpringBoot Starter?
这个我也不是很懂,可以去B站看动力节点的视频:
175-SpringBoot-如何实现一个自己的Spring Boot Starter?_哔哩哔哩_bilibili
例子:
1-3步
4-6步:
3.SpringBoot和SSM有什么区别和优势?
对配置的对比:
4.SpringBoot如何兼容老的Spring项目?
5.你有了解过JavaConfig吗?
IOC(依赖注入)
6.SpringBoot如何完排除某些类的自动装配?
- 引入数据源的相关依赖后需要配置数据数据库的一些参数,如url,username等,不配置程序会报异常,你可以用上述两种方法排除这个类的自动装配。
7.SpringBoot项目如何实现异步调用?
方式一举例:
- 执行上述订单创建 大约 500 ms 左右,查询地址和查询品都没有异步的进行。
还需要再main方法上开启Async注解:
- 将查询地址和商品 加@Asyns注解(让被注解的方法异步执行,在一个新线程执行),结果返回一个Future类型的包装结果
- 执行异步过后的上述订单创建 大约 280ms 左右
- 完成@Async注解的背后是Spring提供的ThreadPoolTaskExecutor线程池
方式二:
- 上述的查询地址和商品都是交给applicationTaskExecutor线程池执行的。
8.SpringBoot默认是使用JDK动态代理还是CGLIB动态代理?
- 默认是使用CGLIB动态代理
- 如果你想改为JDK动态代理,在application.yml文件中配置把true改成false
9.为什么默认使用CGLIB动态代理?
新版的JDK ,如17,18等动态代理的底层是反射