SpringBoot - @Configuration,@Bean,@Scope 组件注入容器
@Configuration
作用:声明一个类为配置类,替代之前使用的xml文件
范围:类上
参数:proxyBeanMethods:boolean(default=true)
基本使用:注册一个类到IOC容器中
@Configuration public class MyConfiguration { @Bean public Object object(){ return new Object(); } }
proxyBeanMethods 参数说明:
proxyBeanMethods=true=Full模式
proxyBeanMethods=false=Lite模式
Full模式保证了组件是单例的,每次实例化一个组件,都要去IOC容器里面查看组件是否存在
Lite模式 不能声明@Bean之间的依赖,实例化时每次都是重新创建对象
配置类组件之间无依赖关系时使用Lite模式,这样做可以加快容器启动速度,减少判断
配置类组件之间有依赖关系时使用Full模式,这样做可以保证当方法被调用时,得到之前单实例的组件
@Bean
作用:把类注入到容器当中
范围:方法上
参数:name{} 声明组件的名称,initMethod/destroyMethod声明组件实例化之前于销毁之前会执行的方法
@Scope
作用:配合@Bean使用 设置类是单例还是多例
范围:类上,方法上
参数:value:singleton 单例 默认值,prototype 多例
基本使用:把类注入到容器,声明单例与多例
@Configuration public class MyConfiguration { @Bean(name="testObject",initMethod = "init",destroyMethod = "destory") @Scope(value="prototype") public Object object1(){ return new Object(); } //默认名称为方法名称 object2,scope默认为单例singleton @Bean @Scope public Object object2(){ return new Object(); } }
分类:
SpringBoot 笔记
标签:
笔记
posted on 2022-12-20 15:06 Mikasa-Ackerman 阅读(124) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了