Spring短生命週期bean注入長生命週期bean問題
Spring中Bean的生命週期有singleton prototype request session global session application,預設的生命週期是singleton在容器中永遠都只有一份例項,prototype是原型模式即每一次呼叫都生產一個新的Bean例項。request session global session application是和web應用相關的。
public interface ConfigurableBeanFactory extends HierarchicalBeanFactory, SingletonBeanRegistry {
/**
* Scope identifier for the standard singleton scope: "singleton".
* Custom scopes can be added via {@code registerScope}.
* @see #registerScope
*/
String SCOPE_SINGLETON = "singleton";
/**
* Scope identifier for the standard prototype scope: "prototype".
* Custom scopes can be added via {@code registerScope}.
* @see #registerScope
*/
String SCOPE_PROTOTYPE = "prototype";
public interface WebApplicationContext extends ApplicationContext {
/**
* Context attribute to bind root WebApplicationContext to on successful startup.
* <p>Note: If the startup of the root context fails, this attribute can contain
* an exception or error as value. Use WebApplicationContextUtils for convenient
* lookup of the root WebApplicationContext.
* @see org.springframework.web.context.support.WebApplicationContextUtils#getWebApplicationContext
* @see org.springframework.web.context.support.WebApplicationContextUtils#getRequiredWebApplicationContext
*/
String ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE = WebApplicationContext.class.getName() + ".ROOT";
/**
* Scope identifier for request scope: "request".
* Supported in addition to the standard scopes "singleton" and "prototype".
*/
String SCOPE_REQUEST = "request";
/**
* Scope identifier for session scope: "session".
* Supported in addition to the standard scopes "singleton" and "prototype".
*/
String SCOPE_SESSION = "session";
/**
* Scope identifier for global session scope: "globalSession".
* Supported in addition to the standard scopes "singleton" and "prototype".
*/
String SCOPE_GLOBAL_SESSION = "globalSession";
/**
* Scope identifier for the global web application scope: "application".
* Supported in addition to the standard scopes "singleton" and "prototype".
*/
String SCOPE_APPLICATION = "application";
多例注入給單例,1註解的方式;2xml檔案的方式;3依靠查詢的方式.1,2是通過動態代理的方式實現的。3是依靠每次使用Scope物件是多通過查詢的方式來獲取對應生命週期的物件。
相關文章
- Spring Bean生命週期SpringBean
- Spring Bean 生命週期SpringBean
- Spring Bean的生命週期SpringBean
- Spring Bean 的生命週期SpringBean
- Spring Bean的生命週期SpringBean
- IOC - bean 生命週期Bean
- bean的生命週期Bean
- Spring中bean的生命週期SpringBean
- Spring之Bean的生命週期SpringBean
- 【Spring】Bean的LifeCycle(生命週期)SpringBean
- Spring原始碼:Bean生命週期(三)Spring原始碼Bean
- Spring原始碼:Bean生命週期(四)Spring原始碼Bean
- Spring原始碼:Bean生命週期(五)Spring原始碼Bean
- 面試Spring之bean的生命週期面試SpringBean
- Spring教程-Spring Bean的生命週期SpringBean
- JAVA面試題:Spring中bean的生命週期Java面試題SpringBean
- spring bean的作用域和生命週期SpringBean
- Spring原始碼:bean的生命週期(一)Spring原始碼Bean
- Spring原始碼:Bean的生命週期(二)Spring原始碼Bean
- 聊一聊Spring Bean 的生命週期SpringBean
- Spring中與bean有關的生命週期SpringBean
- 【spring原始碼系列】之【Bean的生命週期】Spring原始碼Bean
- Spring核心系列之Bean的生命週期SpringBean
- Spring Bean各階段生命週期的介紹SpringBean
- 淺析spring——IOC 之 分析 Bean 的生命週期SpringBean
- Spring Bean生命週期,好像人的一生。。SpringBean
- Spring(十二):IOC容器中Bean的生命週期方法SpringBean
- 探索Spring系列(一)Spring容器和Bean的生命週期SpringBean
- 詳解Spring中Bean的作用域與生命週期SpringBean
- 大廠高頻面試題Spring Bean生命週期最詳解面試題SpringBean
- spring管理bean的生命週期與spring通過工廠方法配置beanSpringBean
- Java開發學習(五)----bean的生命週期JavaBean
- spring生命週期Spring
- Spring容器啟動流程+Bean的生命週期【附原始碼】SpringBean原始碼
- Spring學習筆記二: Bean裝配及生命週期Spring筆記Bean
- spring通過註解註冊bean的方式+spring生命週期SpringBean
- spring迴圈依賴解決過程&Bean的生命週期SpringBean
- 生命週期