IoC/DI---Bean作用域

Bean的作用域简理解就是:bean对象能够被使用、操作的范围;singleton与prototype用的较多。

singleton作用域

        在每个Spring IoC容器中一个bean定义对应一个对象实例,在读取配置文件创建IoC容器的时候就会根据配置初始化singleton的Bean实例。该单例存在于spring容器内,容器创建即创建对象实例。(在配制文件里不需要指定,默认就是单例

Prototype作用域
        Prototype作用域的bean会导致在每次对该bean请求(将其注入到另一个bean中,或者以程序的方式调用容器的getBean()方法)时都会创建一个新的bean实例。对有状态的bean应该使用prototype作用域,而对无状态的bean则应该使用singleton作用域。

        用prototype标记的bean,只在有程序调用(获取)时bean时,才会去创建实例,与singleton不一样。

        有状态:指的是有数据传入,防止每次的数据被覆盖。

request
        在一次HTTP请求中,一个bean定义对应一个实例;即每次HTTP请求将会有各自的bean实例,它们依据某个bean定义创建而成。该作用域仅在基于web的SpringApplicationContext情形下有效。


session
        在一个HTTP Session中,一个bean定义对应一个实例。该作用域仅在基于web的Spring ApplicationContext情形下有效。


global session
        在一个全局的HTTP Session中,一个bean定义对应一个实例。典型情况下,仅在使用portlet context的时候有效。该作用域仅在基于web的SpringApplicationContext情形下有效。

扫描二维码关注公众号,回复: 5124970 查看本文章

猜你喜欢

转载自blog.csdn.net/qq_27052085/article/details/84957180
今日推荐