關於spring載入applicationContext初始化bean順序的問題
ApplicationContext.xml內容如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"
<bean id="chinese" class="com.test.Chinese" >
<property name="axe" ref="steelaxe"></property>
</bean>
<bean id="steelaxe" class="com.test.SteelAxe"></bean>
1. 使用以下方式載入xml時
ApplicationContext ctx = new FileSystemXmlApplicationContext(
"applicationContext.xml");
按照bean在xml中的順序例項化bean
結果如下:
Spring例項化主調bean Chinese
Spring例項化steelaxe
Spring執行依賴注入 axe屬性
程式已經例項化beanfactory
程式已經完成chinese bean的例項化
鋼斧砍柴真快 此人年齡為:0
2. 使用如下方式載入xml時
XmlBeanFactory ctx = new XmlBeanFactory(new ClassPathResource(
"applicationContext.xml"));
按照bean的依賴關係例項化bean
結果如下:
程式已經例項化beanfactory
Spring例項化主調bean Chinese
Spring例項化steelaxe
Spring執行依賴注入 axe屬性
程式已經完成chinese bean的例項化
鋼斧砍柴真快 此人年齡為:0
相關推薦
關於spring載入applicationContext初始化bean順序的問題
ApplicationContext.xml內容如下: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"
Spring學習--懶載入(延遲初始化Bean)與自動裝配
**延遲初始化Bean:** 也叫惰性初始化,指的是不提前初始化Bean,而是隻有在真正使用的時候才建立以 及初始化Bean。 配置方式很簡單,只需要在<bean>標籤上指定"lazy-init"屬性值為true即可延遲初始 化Bean。 Sp
spring bean的初始化/銷燬順序
參考https://blog.csdn.net/xiaolyuh123/article/details/61196044 import javax.annotation.PostConstruct; import javax.annotation.PreDest
Spring實例化bean順序問題,導致註入失敗
span this class 進行 exceptio exc ride 今天 end 我們可以通過Spring進行非常方便的管理bean,只需要在類上面加一個註解就可以進行bean的註入,也就是所謂的DI。今天碰到了個小問題,來總結一下。 問題如下: public ab
初始化Bean到Spring
def exception xtu text gist tin subst version fsp public static<T> T getBean(Class<T> clazz) { T t = null; try { //th
spring容器初始化bean之後或銷燬bean之前,能做的操作
通過 <bean> 標籤 init-method 初始化bean之後呼叫的方法 destroy-method 銷燬bean之前呼叫的操作方法 <bean id="initQuartzJob" class="com.upinc
tomcat載入spring過程以及例項化bean
參考:https://blog.csdn.net/yztezhl/article/details/52300663 tomcat啟動載入web.xml配置的ContextLoaderListener,呼叫方法contextInitialized開始初始化, 在init
spring配置的順序決定了類被初始化的順序
spring的配置順序是one,compoent-scan(three類被配置了@component標籤,會被他掃描到並自動配置進來),two。 類Three的配置@Component,所以在spring配置了Component-scan掃描器以後就可以自動被
Spring初始化Bean方法
一、總結 1、Spring為Bean初始化提供了兩種方式 實現InitializingBean介面,它只有afterPropertiesSet方法,在初始化bean的時候會執行該方法。在配置檔案中通過init-method指定 2、實現InitializingBean介面是
Spring何時初始化bean
今天在看《spring原始碼深度解析》第五章關於bean載入的部分,跟蹤原始碼的過程中產生一個困惑。就是在我的程式碼中呼叫getBean以前,在載入xml配置檔案的時候對應的bean就已經進行了初始化。 程式碼如下: Main.java public cl
Spring的IOC、Spring物件初始化bean時機、Spring容器生命週期
IOC指的是控制反轉,把物件的建立、初始化、銷燬等工作都交給Spring容器。由spring容器來控制物件的生命週期。 Spring物件初始化bean時機: 在預設情況下,只要在Spring容器中配置了一個bean,容器在啟動時就會例項化該bean,單例模式。 如果在Spr
spring 單例多例,預設,懶載入,初始化呼叫
(1)spring 預設是單例, 單例情況下:所有執行緒對於同一個類共同擁有一個物件,此時如果在類裡面建立一個類變數如下 由於所有執行緒共享一個類物件,所以也共享一個類變數,每次請求都會增加 @Controller @RequestMapping("/user") pub
【Spring Framework 深入】—— IoC容器初始化 -> Bean定義資源的Resource定位
基本概念 ApplicationContext 繼承體系 本文主要關注ApplicationContext的繼承體系,至於BeanFactory的分支,以後再研究。 BeanFactory or ApplicationContext? Bea
spring 初始化 bean 或者銷燬 bean 操作
關於在spring 容器初始化 bean 和銷燬前所做的操作定義方式有三種: 第三種是:通過介面 BeanPostProcessor 重寫 postProcessAfterInitialization 和 postProcessBeforeInitializa
【Spring:FactoryBean介面】實現FactoryBean介面,Spring在初始化bean時有何不同
問題描述: 最近想要再次熟悉一下阿里中介軟體HSF的用法,在消費HSF時需要在Spring的配置檔案中進行如下配置: <bean id="myClassB" class="com.taobao.hsf.app.spring.util.HSFSpri
Spring 初始化bean過程圖解
一、Spring 容器高層檢視 Spring 啟動時讀取應用程式提供的Bean配置資訊,並在Spring容器中生成一份相應的Bean配置登錄檔,然後根據這張登錄檔例項化Bean,裝配號Bean之間的依賴關係,為上層應用提供準備就緒的執行環境。 二、內部工作機制
Spring原始碼閱讀筆記(二):ApplicationContext初始化簡要流程
基於Spring框架的應用,最主要的亮點就是bean的IoC。而IoC容器的配置、組裝由ApplicationContext完成,那麼我們就從這裡開始,去探究IoC如何管理到bean物件。 ApplicationContext初始化簡要流程 Spring
關於spring boot 的啟動載入 一些初始化資料
方法一: 如何載入一些啟動就需要的初始化資料呢? 為了解決這樣的問題,spring Boot 為我們提供了一個方法,通過實現介面 CommandLineRunner 來實現。無需其他配置,只要建立
spring詳解:通過FactoryBean自定義工廠初始化Bean
FactoryBean的作用: FactoryBean是一個介面,擴充套件功能提供給使用者自定義工廠方法和工廠物件用於例項化物件。 FactoryBean定義了3個方法介面: T getObject():自定義的工廠方法; booleanisSingleton():定義B
spring手動初始化bean
如果檔案在classpath下: ApplicationContext ctx= new ClassPathXmlApplicationContext(new String[]{“beans.xml”,”application.xml”}); BeanFactory