• 配置Bean的作用域


    一、Spring中Bean的5个作用域

    在Spring 2.0及之后的版本中,Bean的作用域被划分为5种。如下

    • singleton      默认值。以单例模式创建Bean的实例,即容器中该Bean的实例只有一个
    • prototype     每次从容器中获取Bean时,都会创建一个新的实例
    • request      用于Web应用环境,针对每次Http请求都会创建一个实例
    • session      用于Web应用环境,同一个回话共享同一个实例,不同的回话使用不同的实例
    • global session   仅在Portlet的Web应用中使用,同一个全局回话共享一个实例。对于非Portlet环境,等同于session

    singleton是默认的作用域,即默认情况下Spring为每个Bean仅创建一个实例。对于不存在线程安全问题的组件,采用这种方式可以大大减少创建对象的开销,提高运行效率。而对于存在线程安全问题的组件,可以使用prototype作用域。如下

    <bean id="userService" class="edu.cn.service.Impl.UserServiceImpl" scope="prototype">
    </bean>

    二、使用注解指定Bean的作用域

    对于使用注解声明的Bean组件,如需修改其作用域,可以使用@Scope注解实现。如下

    @Service
    @Scope("prototype")
    public class UserServiceImpl implements UserService {
        //省略
  • 相关阅读:
    Linux配置dhcp自动获取ip地址
    CentOS7密码复杂度配置
    JDK切换和BurpSuite破解
    python操作Elasticsearch7.x
    mongoShake docker 部署 (mongoshake:2.6.5)
    elasticsearch 7.x 安装使用(ik,elasticsearch head )
    mongoDB -- 全文索引
    商业模式画布
    Vue全家桶--12 Vue-CLI 3.x 脚手架构建项目
    Vue全家桶--11 Webpack和Vue-Loader打包资源
  • 原文地址:https://www.cnblogs.com/yanguobin/p/11703568.html
Copyright © 2020-2023  润新知