zoukankan      html  css  js  c++  java
  • nacos-spring-project 的 xml 配置

    nacos-spring-context 作为一座桥连接 spring 项目和 nacos-client

    在 spring 项目中使用自定义的 xml 标签

    1. 编写 xsd 文件

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                xmlns="http://nacos.io/schema/nacos"
                targetNamespace="http://nacos.io/schema/nacos">
    
        <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
    
        <xsd:annotation>
            <xsd:documentation>
                <![CDATA[ Nacos Framework Schema ]]>
            </xsd:documentation>
        </xsd:annotation>
    
        <xsd:element name="annotation-driven">
            <xsd:annotation>
                <xsd:documentation>
                    <![CDATA[
                    Activates various Nacos Spring's annotations :
                    @NacosInjected
                    @NacosConfigListener
                    @NacosPropertySource
                    @NacosPropertySources
                    @NacosConfigProperties / @NacosProperty / @NacosIgnore
                ]]></xsd:documentation>
            </xsd:annotation>
        </xsd:element>
    
        <xsd:element name="global-properties">
            <xsd:annotation>
                <xsd:documentation>
                    <![CDATA[
                    Register Nacos global Properties whose values are configured from attributes.
                    ]]>
                </xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
                <xsd:attribute name="endpoint" default="${nacos.endpoint:}"/>
                <xsd:attribute name="namespace" default="${nacos.endpoint:}"/>
                <xsd:attribute name="access-key" default="${nacos.access-key:}"/>
                <xsd:attribute name="secret-key" default="${nacos.secret-key:}"/>
                <xsd:attribute name="server-addr" default="${nacos.server-addr:}"/>
                <xsd:attribute name="context-path" default="${nacos.context-path:}"/>
                <xsd:attribute name="cluster-name" default="${nacos.cluster-name:}"/>
                <xsd:attribute name="encode" default="${nacos.encode:UTF-8}"/>
            </xsd:complexType>
        </xsd:element>
    
        <xsd:element name="property-source">
            <xsd:annotation>
                <xsd:documentation>
                    <![CDATA[
                    Add Nacos property source
                    ]]>
                </xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
                <xsd:attribute name="name" default=""/>
                <xsd:attribute name="group-id" default="DEFAULT_GROUP"/>
                <xsd:attribute name="data-id" use="required"/>
                <xsd:attribute name="data-ids"/>
                <xsd:attribute name="auto-refreshed" default="false"/>
                <xsd:attribute name="first" default="false"/>
                <xsd:attribute name="before" default=""/>
                <xsd:attribute name="after" default=""/>
                <xsd:attribute name="type" default="properties" />
            </xsd:complexType>
        </xsd:element>
    
    </xsd:schema>
    View Code

    2. 实现 NamespaceHandler 和 BeanDefinitionParser

    public class NacosNamespaceHandler extends NamespaceHandlerSupport {
    
        @Override
        public void init() {
            registerBeanDefinitionParser("annotation-driven", new NacosAnnotationDrivenBeanDefinitionParser());
            registerBeanDefinitionParser("global-properties", new GlobalNacosPropertiesBeanDefinitionParser());
            registerBeanDefinitionParser("property-source", new NacosPropertySourceBeanDefinitionParser());
        }
    }

    3. 编写 spring.handlers 和 spring.schemas 文件

    http://nacos.io/schema/nacos=com.alibaba.nacos.spring.context.config.xml.NacosNamespaceHandler
    http://nacos.io/schema/nacos.xsd=META-INF/schemas/nacos.xsd
  • 相关阅读:
    爬取校园新闻首页的新闻的详情,使用正则表达式,函数抽离
    爬取校园新闻首页的新闻
    中文词频统计
    综合练习:英文词频统计
    字符串练习
    1.用Hive对爬虫大作业产生的文本文件2.用Hive对爬虫大作业产生的csv文件进行数据分析,写一篇博客描述你的分析过程和分析结果。
    Hadoop综合大作业加上以前漏掉的作业
    爬虫大作业
    获取全部校园新闻
    爬取校园新闻首页的新闻
  • 原文地址:https://www.cnblogs.com/allenwas3/p/11394092.html
Copyright © 2011-2022 走看看