如何將自定義的配置標籤化是個比較通用的問題,spring已經很好的幫我們設計完成,只需要我們去實現。將繁瑣的配置通過xml配置,spring自動轉換成bean,整個過程比較合理。
1.建立乙個需要擴充套件的元件
package com.bean;
public class user
public void setusername(string username)
public string getemail()
public void setemail(string email)
public string getaddress()
public void setaddress(string address)
}
2.定義乙個xsd檔案描述元件內容
spring-user.xsd
<?xml version="1.0" encoding="utf-8"?>
3.實現beandefinitionparser介面,解析xsd檔案中的定義和元件定義
package com.parse;
import com.bean.user;
import org.springframework.beans.factory.support.beandefinitionbuilder;
import org.springframework.beans.factory.xml.abstractsinglebeandefinitionparser;
import org.springframework.util.stringutils;
import org.w3c.dom.element;
public class userdefinitionparser extends abstractsinglebeandefinitionparser
@override
protected void doparse(element element, beandefinitionbuilder bean)
if (stringutils.hastext(email))
if (stringutils.hastext(address))
}}
4.建立handler檔案,擴充套件自namespacehandlersupport,將元件註冊到spring容器
package com.tag;
import com.parse.userdefinitionparser;
import org.springframework.beans.factory.xml.namespacehandlersupport;
public class usernamespacehandler extends namespacehandlersupport
}
5.編寫spring.handlers和spring.schemas對映檔案
http\:
6.測試
package com.test;
import com.bean.user;
public class springtest
}
執行輸出lcq
Spring的自定義標籤
在com.test.beans下建立user類 package com.test.beans public class user public user string username,string email public string getusername public void setuse...
spring 自定義標籤實現
參考資料 dubbo對spring自定義標籤的擴充套件的實現 spring官方文件 42.1中,介紹了如何自定義spring標籤,步驟如下 1 編寫乙個xml schema描述您的自定義元素 2 編寫自定義命名空間處理程式實現,實現namespackhandler介面 3 編寫乙個或多個自定義的be...
Spring的自定義標籤
spring為自定義xml標籤載入提供了擴充套件。使用者可自定義標籤並註冊到spring的bean容器中。實現較為複雜的bean載入解析。我們認為 xml schema 很快會在大部分網路應用程式中取代 dtd。理由如下 xsd schema xmlns xmlns xsd targetnamesp...