SpringBoot注入时设置《多例》
1.SpringBoot的基础2.SpringBoot的@Resource和@Autowired+@Qualifier使用3.SpringBoot配置两个一样的Bean,区分两个配置类——@Primary4.SpringBoot项目预加载数据——ApplicationRunner、CommandLineRunner、InitializingBean 、@PostConstruct区别5.SpringBoot获取配置:@Value、@ConfigurationProperties方式
6.SpringBoot注入时设置《多例》
7.在线程中使用Spring的Bean的方法、不推荐把“线程”注入到Spring8.SpringBoot读取Resources下的文件
SpringBoot设置多例
1、准备数据
- 测试接口
package com.cc.jschdemo.springmultiton; /** * <p>spring多例测试</p> * * @author -- * @since 2023/11/23 */ public interface ISpringMultiton { }
- 测试接口实现(注入spring)
package com.cc.jschdemo.springmultiton; import org.springframework.stereotype.Component; import org.springframework.stereotype.Service; /** * <p></p> * * @author -- * @since 2023/11/23 */ @Component public class SpringMultitonImpl implements ISpringMultiton{ }
2、默认单例测试
@Resource private ISpringMultiton springMultiton; //默认是单例的 @Test public void test04()throws Exception{ int i = springMultiton.hashCode(); System.out.println("第一次使用的地址:" + i); int i1 = springMultiton.hashCode(); System.out.println("第二次使用的地址:" + i1); }
-
hashCode结果:
-
内存结果:
3、☆☆实现多例☆☆
- spring注入默认单例,要实现多例,必须配置
3.1、测试接口实现(注入spring)加上:@Scope("prototype")
package com.cc.jschdemo.springmultiton; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Component; import org.springframework.stereotype.Service; /** * <p></p> * * @author -- * @since 2023/11/23 */ @Component @Scope("prototype") public class SpringMultitonImpl implements ISpringMultiton{ }
3.2、注入时使用:ObjectProvider
@Resource private ObjectProvider<ISpringMultiton> objectProvider; @Test public void test05()throws Exception{ //这里的objectProvider.getObject()获取出来的,就相当于spring注入的ISpringMultiton ISpringMultiton springMultiton1 = objectProvider.getObject(); int i = springMultiton1.hashCode(); System.out.println("第一次使用的地址:" + i); ISpringMultiton springMultiton2 = objectProvider.getObject(); int i1 = springMultiton2.hashCode(); System.out.println("第二次使用的地址:" + i1); }
-
hashCode结果:
-
内存结果:
合集:
SpringBoot基础
分类:
SpringBoot
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)