Spring中怎么自定义xsd文件操作

今天就跟大家聊聊有关Spring中怎么自定义xsd文件操作,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

创新互联主营印台网站建设的网络公司,主营网站建设方案,成都app软件开发公司,印台h5成都微信小程序搭建,印台网站营销推广欢迎印台等地区企业咨询

1 设置html文件的语法格式xsd文件

根据POJO的属性编写xsd文件。

例如




    
        
            
            
            
        
    

对应的POJO是

public class User {
    private String name;
    private String email;
		
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
}

属性的getter和setter方法不可缺少

可以使得User的属性在xml中可以配置,如



    

mytest:是自定义的命名空间名 classpath:是本地xsd文件加载协议

2 实现BeanDefinitionParser接口和扩展类NamespaceHandlerSupport

扩展NamespaceHandlerSupport类:实现XML中的数据的手动加载到BeanDefinitionBuilder中

public class UserBeanDefinitionParser extends AbstractSingleBeanDefinitionParser {

    protected Class getBeanClass(Element element){
        return User.class;
    }
    protected void doParse(Element element, BeanDefinitionBuilder bean) {
        String userName = element.getAttribute("name");
        String email = element.getAttribute("email");

        if(StringUtils.hasText(userName)) {
            bean.addPropertyValue("name", userName);
        }

        if (StringUtils.hasText(email)) {
            bean.addPropertyValue("email", email);
        }
    }
}

实现BeanDefinitionParser接口:手动注册POJO的手动解析结果

public class MyNamespaceHandler extends NamespaceHandlerSupport {
    public void init() {
        registerBeanDefinitionParser("user",new UserBeanDefinitionParser());
    }
}

3 设置Spring.handlers和Spring.schemas文件

配置META-INF/Spring.handlers:

http\://www.zhangyh.com/schema/user=com.zhangyh.xsd.paser.MyNamespaceHandler

当引用http://www.zhangyh.com/schema/user时会使用MyNamespaceHandler解析引用对象

配置META-INF/Spring.schemas

http\://www.zhangyh.com/schema/user.xsd=com.zhangyh.xsd/schema/user.xsd

载入自定义xsd文件

看完上述内容,你们对Spring中怎么自定义xsd文件操作有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联行业资讯频道,感谢大家的支持。


分享题目:Spring中怎么自定义xsd文件操作
网站路径:http://scyanting.com/article/gsoooi.html