spring的一些標籤解析

2021-12-30 04:20:32 字數 2119 閱讀 8374

繼續接著spring 載入、解析applicationcontext.xml 流程解析 import 、 alias、beans 標籤。

標籤示例

解析import 標籤

入口類、方法defaultbeandefinitiondocumentreader.importbeandefinitionresource();

protected void importbeandefinitionresource(element ele)

// 解析系統屬性。比如 "$"

location = getreadercontext().getenvironment().resolverequiredplaceholders(location);

set actualresources = new linkedhashset<>(4);

boolean absolutelocation = false;

try catch (urisyntaxexception ex)

// 絕對路徑

if (absolutelocation)

}catch (beandefinitionstoreexception ex)

}else else

if (logger.isdebugenabled())

}catch (ioexception ex) catch (beandefinitionstoreexception ex)

}resource actresarray = actualresources.toarray(new resource[actualresources.size()]);

getreadercontext().fireimportprocessed(location, actresarray, extractsource(ele));

}獲取resource屬性 解析路徑中的系統屬性,格式如「$」 判斷location是絕對路徑還是相對路徑 如果是絕對路徑,則遞迴呼叫bean的解析過程。重新執行這個流程 spring 載入、解析applicationcontext.xml 流程 如果相對路徑,則把相對路徑轉換成絕對路徑,在解析 通過***、解析完成alias 標籤示例解析 alias 標籤

defaultbeandefinitiondocumentreader.processaliasregistration()

protected void processaliasregistration(element ele)

//驗證 alias 是否為空

if (!stringutils.hastext(alias))

if (valid)

catch (exception ex)

getreadercontext().firealiasregistered(name, alias, extractsource(ele));}}

解析 alias 標籤,獲取 name 和 alias 屬性值。 把 name 和 alias 註冊到 ******aliasregistry.aliasmap 屬性中。

******aliasregistry 原始碼

public class ******aliasregistry implements aliasregistry else

if (!allowaliasoverriding())

}checkforaliascircle(name, alias);

this.aliasmap.put(alias, name);}}

protected boolean allowaliasoverriding()

......

beans標籤示例

......

beans 標籤解析 又呼叫了doregisterbeandefinitions() 方法,這個方法在spring 載入、解析applicationcontext.xml 流程中已經介紹過了。

跟import 解析都類似。又相當於重新執行解析了一邊 bean 標籤一樣。

Spring配置檔案中的一些標籤

經常看到resource下面有多個關於spring的配置檔案,其實是多個 spring 配置檔案通過 import 方式整合的。import標籤 配置檔案會先合併,後解析,也就是說,無論是命名空間還是配置的內容,都會合併處理。bean標籤 我們只需在spring容器能載入到的地方配置bean就可以把...

一些遺忘的標籤

在做頁面時,基本上都忘了這幾個標籤,基本上都沒用到,今天偶爾看到了,就總結下 q 引用比較短的話,例如 吃飯了沒啊 吃飯了沒啊 在ie6下面是沒有引號的,為了表現統一在重置樣式的時候加上q before,q after blockquote 引用比較長的話,兩邊有縮排,在ie和ff瀏覽器表現統一 a...

html 一些標籤

字型效果 標題字 最大 標題字 最小 粗體字 粗體字 強調 斜體字 斜體字 強調 斜體字 表示定義 底線 底線 表示插入文字 橫線 刪除線 刪除線 表示刪除 鍵盤文字 打字型 固定寬度字型 在檔案中空白 換行 定位功能有效 固定寬度字型 不執行標記符號 固定寬度小字型 字型顏色 最小字型 無限增大 ...