spring-namespace自定义命名空间简介

spring-namespace自定义命名空间简介
强烈推介IDEA2020.2破解激活,IntelliJ IDEA 注册码,2020.2 IDEA 激活码

我最开始是通过sharding-spwhere这个分库中间件知道,在做中间件的时候,最好是使用这种spring-namespace的方式进行配置。之后,在比较流行了一些java中间件中都会发现spring-namespace的影子,比如dubbo中的xml配置文件

 <dubbo:application name="demo-provider"/>

    <dubbo:registry address="multicast://224.5.6.7:1234" />

    <!-- use dubbo protocol to export service on port 20880 -->
    <dubbo:protocol name="dubbo"/>

这些都是使用spring-namespace实现的。 

通常在做框架研发的时候,经常会遇到的问题就是需要框架的使用者进行一系列的配置。如果框架是纯原生的,不依赖于spring的(通常做的框架都应该有一个不依赖其他框架的版本的,也就是core版本),那么配置一般是放在配置文件中。但是对于中间件来说,配置的时候我们最好是在configBean(配置类)中进行。

比如下面的配置,自定义命令空间的配置,这样的配置要好过<bean></bean>这种方式。因为对于复杂的配置来说,通过namespace的方式配置之后,我们能够得到更加清晰的配置感受。

 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:user="http://www.wuxueyou.cn/schema/user"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.wuxueyou.cn/schema/user http://www.wuxueyou.cn/schema/user.xsd">

    <user:self-user id="user2" userId="12" name="aaa"/>
    <bean id="user1" class="com.xueyou.User">
        <property name="userId" value="33"/>
        <property name="name" value="xiaoming"/>
    </bean>
</beans>

同样配置一个user的对象,通过第一种方式,比第二种方式更加的直接。下一篇文章,我会详细介绍具体如何使用spring-namespace进行自定义命名。 

本文来源0day__,由javajgs_com转载发布,观点不代表Java架构师必看的立场,转载请标明来源出处:https://javajgs.com/archives/8095

发表评论