Spring 原始碼分析

2021-07-11 13:14:55 字數 2241 閱讀 1366

public

throws bean***ception

}

到這裡最終的方法就是refresh(),super只是做一些初始化工作,可以忽略。

以下是初始化發放做的事情:

debug

[main]

-adding

[systemproperties]

propertysource

with

lowest

search

precedence

debug

[main]

-adding

[systemenvironment]

propertysource

with

lowest

search

precedence

debug

[main]

-initialized

standardenvironment

with

propertysources

[systemproperties,systemenvironment]

public void refresh() throws bean***ception, illegalstateexception 

catch (bean***ception ex)

}}

preparrefresh()的輸出

refreshing org.springframework

.context

.support

@26eeda37: startup date [sun may 01

19:02:10 cst 2016]; root of context hierarchy

// tell the subclass to refresh the internal bean factory.

configurablelistablebeanfactory beanfactory =obtainfreshbeanfactory();

的輸出:

debug [main] - loading bean definitions

debug [main] - bean factory for org.springframework

.context

.support

@26eeda37: org.springframework

.beans

.factory

.support

.defaultlistablebeanfactory

@2582e0fc: defining beans [countryservice,org.springframework

.context

.annotation

.internalconfigurationannotationprocessor,org.springframework

.context

.annotation

.internalautowiredannotationprocessor,org.springframework

.context

.annotation

.internalrequiredannotationprocessor,org.springframework

.context

.annotation

.internalcommonannotationprocessor,org.springframework

.context

.annotation

.internalpersistenceannotationprocessor,org.springframework

.context

.support

.propertysourcesplaceholderconfigurer

我首先從這個方法開始分析:

// invoke factory processors registered as beans in the context.

invokebeanfactorypostprocessors(beanfactory);

呼叫註冊在context裡面的beanfactory中的方法

spring原始碼分析 spring原始碼分析

1.spring 執行原理 spring 啟動時讀取應用程式提供的 bean 配置資訊,並在 spring 容器中生成乙份相應的 bean 配置登錄檔,然後根據這張登錄檔例項化 bean,裝配好 bean 之間的依賴關係,為上 層應用提供準備就緒的執行環境。二 spring 原始碼分析 1.1spr...

spring原始碼分析

spring源 解析 一 ioc容器 url spring源 解析 二 ioc容器在web容器中的啟動 url spring源 解析 三 spring jdbc url spring源 解析 四 spring mvc url spring源 解析 五 spring aop獲取proxy url sp...

Spring原始碼分析 beanFactory

aliasregistry 定義了對別名的簡單增刪改操作 public inte ce aliasregistry aliasregistry 使用concurrenthashmap實現了aliasregistry介面 public class aliasregistry implements al...