首先寫乙個pojo類user來接收配置檔案
public class user
public void setusername(string username)
public string getemal()
public void setemal(string emal)
}
定義乙個xsd檔案描述元件的內容 user.xsd
targetnamespace=""意思是命名空間為
<?xml version="1.0" encoding="utf-8"?>
建立乙個檔案解析xsd檔案和元件的定義
import org.springframework.beans.factory.support.beandefinitionbuilder;
import org.springframework.beans.factory.xml.abstractsinglebeandefinitionparser;
import org.w3c.dom.element;
import org.springframework.util.stringutils;
public class userbeandefinitionparser extends abstractsinglebeandefinitionparser
protected void doparse(element element,beandefinitionbuilder bean)
if(stringutils.hastext(emal))
}}
建立乙個handler檔案為了把元件註冊到spring容器
import org.springframework.beans.factory.xml.namespacehandlersupport;
public class mynamespacehandler extends namespacehandlersupport
}
下面重要的一點是編寫對映檔案
spring.handlers內容為
http\: 意思是當遇到以user為開頭的bean時,進入方法mynamespacehandler
spring.schemas內容為
http\: 意思是引用的www.ry.com/schema/user.xsd指向本地meta-inf/user.xsd
建立測試配置檔案test.xml
最終測試
public static void main(string args){
//通過對映載入test.xml 遇到bean輸出為aa,bb
spring自定義標籤使用
一 新建實體類 data public class linxh 二 新建類 linxhbeandefinitionparser,beandefinition轉換器 package com.linxh import org.springframework.beans.factory.support.b...
spring自定義標籤
如何將自定義的配置標籤化是個比較通用的問題,spring已經很好的幫我們設計完成,只需要我們去實現。將繁瑣的配置通過xml配置,spring自動轉換成bean,整個過程比較合理。1.建立乙個需要擴充套件的元件 package com.bean public class user public voi...
Spring的自定義標籤
在com.test.beans下建立user類 package com.test.beans public class user public user string username,string email public string getusername public void setuse...