您现在的位置是:首页 > Javascript
当前栏目
@confirguration(proxyBeanMethods = false)的作用,如何选择Full模式和Lite模式
2023-03-31 10:45:32 时间
@Configuration(proxyBeanMethods = false) //告诉SpringBoot这是一个配置类 == 配置文件 public class MyConfig { @Bean //给容器中添加组件。以方法名作为组件的id。返回类型就是组件类型。返回的值,就是组件在容器中的实例 public User user01(){ User zhangsan = new User("zhangsan", 18); //user组件依赖了Pet组件 zhangsan.setPet(tomcatPet()); return zhangsan; }
上述代码@Configuration(proxyBeanMethods = true)表示使用代理对象调用方法。SpringBoot总会检查这个组件是否在容器中有,如果有就直接拿,没有再创建。(单例模式)
public static void main(String[] args) { SpringApplication.run(MainApplication.class, args); User user = bean.user01(); User user1 = bean.user01(); System.out.println(user == user1); 返回为true }
如果@Configuration(proxyBeanMethods = false) 则会拿到两个不同的对象。
System.out.println(user == user1); 返回为false
两种开发模式
Full:全模式(proxyBeanMethods = true)
每一次外界调用组件,springboot都会检查容器中是否已经存在该组件,效率低
Lite:轻量级模式(proxyBeanMethods = false)
优点:springboot不会来检查方法返回的组件在容器中有没有,启动非常快
所以,建议以下两条:
配置类组件之间无依赖管子用Lite模式加速容器启动过程,减少判断
配置类组件之间有依赖关系,方法会被调用得到之前的单实例组件,用Full模式
相关文章
- 基于ArkUI的渐变色盘—容器组件的学习分享(中)
- 基于ArkUI的渐变色盘—容器组件的学习分享(下)
- 基于ArkUI的渐变色盘—容器组件的学习分享(上)
- 经典Windows组件大翻新!Windows 11新版记事本官宣
- 浏览器和 Node.js 的 EventLoop 事件循环机制知多少?
- Windows11这鸡肋功能太烦人?教你关闭系统小组件
- Windows 11小组件:你需要知道的一切
- HarmonyOS ArkUI之自定义组件侧滑菜单(JS)
- HarmonyOS自定义组件之分页功能组件封装实例
- 微软:2022年将重点解决Windows性能低下的问题
- HarmonyOS ArkUI之仿微信朋友圈图片预览
- Django3 使用 WebSocket 实现 WebShell
- 分库分表实战之订单业务完整梳理
- 太上老君的炼丹炉之分布式 Quorum NWR
- JeecgBoot的前端Form升级为FormModel用法
- 前端进阶:原生JavaScript实现具有进度监听的文件上传预览组件
- 如何编写神奇的「插件机制」,优化基于 Antd Table 封装表格的混乱代码
- Java8新特性系列-默认方法和静态方法
- Web开发应了解的5种设计模式
- 死磕JS:Reflect.ownKeys() 和 Object.keys() 怎么选?