美文网首页
<> 旧版配置文件解析

<> 旧版配置文件解析

作者: monk87 | 来源:发表于2020-04-04 18:10 被阅读0次

    实例代码

    引入dubbo 依赖

    <!-- dubbo -->
    <!-- zeekeeper注册中心 -->
    <dependency>
      <groupId>org.apache.zookeeper</groupId>
      <artifactId>zookeeper</artifactId>
      <version>3.4.9</version>
    </dependency>
    <dependency>
      <groupId>com.101tec</groupId>
      <artifactId>zkclient</artifactId>
      <version>0.10</version>
    </dependency>
    <!-- dubbo -->
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>dubbo</artifactId>
      <version>2.5.3</version>
      <exclusions>
        <exclusion>
          <groupId>org.springframework</groupId>
          <artifactId>spring</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    

    服务

    @Slf4j
    public class DemoServiceImpl implements DemoService {
        @Override
        public String sayHello(String name) {
            log.info("[sayHello]start: {}", name);
            return "Hello " + name + " " + new Date();
        }
    }
    

    xml 配置

    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
           xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans.xsd
           http://code.alibabatech.com/schema/dubbo
           http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
        <!--定义了提供方应用信息,用于计算依赖关系;在 dubbo-admin 或 dubbo-monitor 会显示这个名字,方便辨识-->
        <dubbo:application name="demotest-provider" owner="programmer" organization="dubbox"/>
        <!--使用 zookeeper 注册中心暴露服务,注意要先开启 zookeeper-->
        <dubbo:registry address="zookeeper://59.110.240.159:2181"/>
        <!-- 用dubbo协议在20880端口暴露服务 -->
        <dubbo:protocol name="dubbo" port="20880"/>
        <!--使用 dubbo 协议实现定义好的 api.PermissionService 接口-->
        <dubbo:service interface="DemoService" ref="demoService" protocol="dubbo"/>
        <!--具体实现该接口的 bean-->
        <bean id="demoService" class="DemoServiceImpl"/>
    </beans>
    

    启动类

    @SpringBootApplication
    @ImportResource(value = "classpath*:META-INF/provider.xml")
    public class DubboProviderApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(DubboProviderApplication.class, args);
        }
    
    }
    

    流程梳理

    解析配置文件到 beanDefinitionMap

    image.png

    相关文章

      网友评论

          本文标题:<> 旧版配置文件解析

          本文链接:https://www.haomeiwen.com/subject/qhajphtx.html