zoukankan      html  css  js  c++  java
  • 猪齿鱼_01_环境搭建(三)_整合业务服务

    一、前言

    本文承接上一节:猪齿鱼_01_环境搭建(一)_微服务支撑组件部署

    前面两节,我们已经完成了猪齿鱼微服务支撑组件的部署;

    这一节,我们来看下如何在前面部署好的微服务支撑组件的基础上,进行我们的业务服务的开发。

    二、整合业务服务

    这里我们将创建一个简单的Demo工程,然后将此工程整合进来。

    1.创建工程

    1.1 创建SpringBoot工程

    创建一个SpringBoot工程即可,工程的GAV如下

    groupId:hec-panda-cloud
    artifactId:panda-cloud-service
    version:1.0-SNAPSHOT

    1.2 修改pom.xml

    工程的pom.xml文件内容如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xmlns="http://maven.apache.org/POM/4.0.0"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    
        <groupId>hec-panda-cloud</groupId>
        <artifactId>panda-cloud-service</artifactId>
        <version>1.0-SNAPSHOT</version>
        <modelVersion>4.0.0</modelVersion>
    
        <!--choerodon-framework-parent dependency-->
        <parent>
            <groupId>io.choerodon</groupId>
            <artifactId>choerodon-framework-parent</artifactId>
            <version>0.6.0.RELEASE</version>
        </parent>
    
        <!--choerodon-starters dependency-->
        <properties>
            <choerodon.starters.version>0.5.1.RELEASE</choerodon.starters.version>
        </properties>
        <dependencies>
            <!--spring boot-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-actuator</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-undertow</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
                <exclusions>
                    <exclusion>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-starter-tomcat</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-eureka</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-config-client</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-bus-kafka</artifactId>
                <exclusions>
                    <exclusion>
                        <groupId>org.springframework.cloud</groupId>
                        <artifactId>spring-cloud-bus</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
    
            <!--choerodon starters-->
            <dependency>
                <groupId>io.choerodon</groupId>
                <artifactId>choerodon-starter-oauth-resource</artifactId>
                <version>${choerodon.starters.version}</version>
            </dependency>
            <dependency>
                <groupId>io.choerodon</groupId>
                <artifactId>choerodon-starter-swagger</artifactId>
                <version>${choerodon.starters.version}</version>
            </dependency>
            <dependency>
                <groupId>io.choerodon</groupId>
                <artifactId>choerodon-starter-core</artifactId>
                <version>${choerodon.starters.version}</version>
            </dependency>
            <dependency>
                <groupId>io.choerodon</groupId>
                <artifactId>choerodon-starter-mybatis-mapper</artifactId>
                <version>${choerodon.starters.version}</version>
            </dependency>
            <dependency>
                <groupId>io.choerodon</groupId>
                <artifactId>choerodon-starter-bus</artifactId>
                <version>${choerodon.starters.version}</version>
            </dependency>
    
    
            <!--mysql-->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
            </dependency>
    
    
            <!--监控相关依赖 -->
            <dependency><!-- 如果服务需要监控功能则需要此依赖 -->
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-stream-binder-kafka</artifactId>
            </dependency>
    
            <dependency><!-- 如果服务需要hystrix监控功能则需要此依赖 -->
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-netflix-hystrix-stream</artifactId>
            </dependency>
    
            <dependency><!-- 如果服务需要zipkin监控功能则需要此依赖 -->
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-sleuth-stream</artifactId>
            </dependency>
    
            <!-- 添加cpu监控 -->
            <dependency>
                <groupId>io.choerodon</groupId>
                <artifactId>choerodon-starter-hitoa</artifactId>
                <version>${choerodon.starters.version}</version>
            </dependency>
            <!-- test -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
    
        </dependencies>
    
        <build>
            <finalName>app</finalName>
        </build>
    
    </project>
    
    
    

    1.3 新建 PandaSystemExtraDataManager.java

    此文件是用来将当前工程的接口信息注册到Swagger中。
    文件内容如下:

    /*
     *
     *  项目名称:choerodon-framework-parent
     *  Copyright @ 2018  Shanghai Hand Co. Ltd.
     *  All right reserved.
     *
     *
     */
    
    package io.choerodon.demo;
    
    import io.choerodon.core.swagger.ChoerodonRouteData;
    import io.choerodon.swagger.annotation.ChoerodonExtraData;
    import io.choerodon.swagger.custom.extra.ExtraData;
    import io.choerodon.swagger.custom.extra.ExtraDataManager;
    
    /** HcbmTemplateExtraDataManager
     *
     * @author yinbo.shi@hand-china.com
     * @date 2018/06/14
     */
    @ChoerodonExtraData
    public class PandaSystemExtraDataManager implements ExtraDataManager {
    
        @Override
        public ExtraData getData() {
            ChoerodonRouteData choerodonRouteData = new ChoerodonRouteData();
    
            choerodonRouteData.setName("panda-system");
            choerodonRouteData.setPath("/panda/system/**");
            choerodonRouteData.setServiceId("panda-system");
            extraData.put(ExtraData.ZUUL_ROUTE_DATA, choerodonRouteData);
            return extraData;
        }
    }
    
    

    2.指定注册中心地址

    eureka
      client:
        serviceUrl:
          defaultZone: http://localhost:8000/eureka/
    
  • 相关阅读:
    C#基础系列——一场风花雪月的邂逅:接口和抽象类
    C#进阶系列——动态Lamada(二:优化)
    C#进阶系列——动态Lamada
    JS组件系列——Bootstrap Table 表格行拖拽(二:多行拖拽)
    JS组件系列——Bootstrap Table 表格行拖拽
    C#进阶系列——DDD领域驱动设计初探(七):Web层的搭建
    C#进阶系列——MEF实现设计上的“松耦合”(四):构造函数注入
    C#进阶系列——DDD领域驱动设计初探(六):领域服务
    C#进阶系列——DDD领域驱动设计初探(五):AutoMapper使用
    C#进阶系列——DDD领域驱动设计初探(四):WCF搭建
  • 原文地址:https://www.cnblogs.com/shirui/p/10751877.html
Copyright © 2011-2022 走看看