[Spring Boot] Singleton and Prototype
2023-09-14 09:00:49 时间
When we use Bean to do autowired, it actually use singleton, so even we create multi instanses, they are the same:
@SpringBootApplication public class In28minutesApplication { public static void main(String[] args) { // Application Context ApplicationContext applicationContext = SpringApplication.run(In28minutesApplication.class, args); //BinarySearchImpl binarySearch = new BinarySearchImpl(new QuickSortAlgo()); BinarySearchImpl binarySearch = applicationContext.getBean(BinarySearchImpl.class); BinarySearchImpl binarySearch1 = applicationContext.getBean(BinarySearchImpl.class); int result = binarySearch.binarySearch(new int[] {1,2,3,4}, 3); System.out.println(binarySearch); System.out.println(binarySearch1); } }
It print out:
com.example.in28minutes.BinarySearchImpl@704deff2
com.example.in28minutes.BinarySearchImpl@704deff2
We can also tell Spring boot to use Singleton or using proptype:
@Component @Scope(ConfigurableBeanFactory.SCOPE_SINGLETON) // by default public class BinarySearchImpl { } // the same as @Component public class BinarySearchImpl { }
But if we switch to Prototype, it will use differnet address in memory:
@Component @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) public class BinarySearchImpl { }
com.example.in28minutes.BinarySearchImpl@4eaf3684
com.example.in28minutes.BinarySearchImpl@40317ba2
相关文章
- Spring 全家桶之 Spring Boot 2.6.4(九)- 启动流程解析
- Spring连接池与事务管理 | Spring学习笔记
- Spring 全家桶之 Spring Boot 2.6.4(三)- Logging
- Spring Boot + @Async = 王炸!!
- Spring中Model、ModelMap、ModelAndView理解和具体使用总结
- Spring事务管理[通俗易懂]
- 利用 Spring Boot Admin 对 Spring Boot 应用监控以及配置认证
- 理解 Spring ApplicationListener
- Spring之注解开发
- Spring Boot电商项目
- Spring Boot框架下实现Excel服务端导入导出
- Spring框架:第八章:声明式事务
- Spring宣布旧的Spring Security OAuth彻底停止维护,连文档仓库都没了
- spring boot项目读取配置文件的参数
- Spring和Spring Boot有啥区别
- spring boot中shiro使用自定义注解屏蔽接口鉴权
- Spring boot 启动错误:Could not resolve placeholder
- Spring Boot Vue全栈开发实战_java web前端
- springboot 集成mybatis-plus_Spring Boot
- 一文讲透Spring的IOC反转控制
- 到底要不要拥抱 Spring Boot 3.0
- Spring源码阅读系列之一:Spring AOP原理(上)
- Spring Boot 2.x基础教程:使用@Scheduled实现定时任务
- Spring Boot的开发环境搭建
- Spring Cloud Security使用OAuth2授权服务器来保护API
- Spring boot+redis实现消息发布与订阅的代码
- Spring中Bean的5种作用域scope详解编程语言
- Spring Boot入门第三天:配置日志系统和Druid数据库连接池。详解编程语言
- Spring Boot 2.x 启动全过程源码分析(上)入口类剖析详解编程语言
- Spring Boot(十五):spring boot+jpa+thymeleaf增删改查示例详解编程语言
- Spring Boot(十四):spring boot整合shiro-登录认证和权限管理详解编程语言
- Spring Boot(十二):spring boot如何测试打包部署详解编程语言
- spring boot 发邮件详解编程语言
- java spring boot 打包方法详解编程语言
- java,spring,tomcat,跨域设置详解编程语言
- Spring setConnectionProperties方法:设置数据库连接的各种属性