spring注解@scope(废弃) 作者:马育民 • 2020-06-11 22:17 • 阅读:10088 # 介绍 `@scope`相当于传统`application-config.xml`配置文件中``中的scope属性 ``` ``` scope称:作用域,在 Spring IoC 容器是指其创建的 Bean 对象相对于其他 Bean 对象的请求可见范围。 在 Spring IoC 容器中具有以下几种作用域: - 基本作用域(singleton、prototype) - Web 作用域(reqeust、session、globalsession) - 自定义作用域 # 详细解释 - **prototype**:原型模式,每次通过容器的getBean方法获取prototype定义的Bean时,都将产生一个新的Bean实例 - **singleton**:**默认值,**单例模式,在整个Spring IoC容器中,使用singleton定义的Bean将只有一个实例 - request:对于每次HTTP请求,使用request定义的Bean都将产生一个新实例,即每次HTTP请求将会产生不同的Bean实例。只有在Web应用中使用Spring时,该作用域才有效 - session:对于每次HTTP Session,使用session定义的Bean都将产生一个新实例。同样只有在Web应用中使用Spring时,该作用域才有效 - globalsession:每个全局的HTTP Session,使用session定义的Bean都将产生一个新实例。典型情况下,仅在使用portlet context的时候有效。同样只有在Web应用中使用Spring时,该作用域才有效 # 例子 搭配`@bean`注解使用 ``` @Configuration public class ApplicationConfig { @Bean @Scope("prototype") public OrderService orderService() { return new OrderService(orderRepository()); } } ``` https://blog.csdn.net/Tracycater/article/details/54019223 原文出处:http://malaoshi.top/show_1EF5gsBG9q7X.html