zoukankan      html  css  js  c++  java
  • Spring Cloud部署+Mybatis整合

    一:架构简介

    Spring Cloud是微服务思想的体现。每个项目单独部署,我只需要知道你服务的name就能直接调用你,而不关心你的ip和端口的变化。当接口服务不可用的时候,我能感知到你无法用了,就不再使用你。

    我们做这么一个场景:

    producer

    有一个生产者服务producer1,对外提供用户的信息。(Spring Boot构建)

    用户信息保存在MySQL中,读取MySQL数据的时候,用MyBatis框架实现dao层的代码。(Mybatis整合)

    将构建好的项目copy出来一份,改一下端口号,服务的名字不变。(做集群模拟)

    producer1 和 producer2都注册到Eureka中

    Eureka

    创建一个Spring Boot项目,

    二:创建生产者项目producer1

    (1)创建一个maven项目,pom文件添加依赖如下

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <groupId>com.cs.cloud</groupId>
        <artifactId>producer1</artifactId>
        <version>1.0-SNAPSHOT</version>
    
        <!-- 引入spring boot的依赖 -->
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.1.4.RELEASE</version>
        </parent>
    
        <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <java.version>1.8</java.version>
        </properties>
    
        <dependencies>
            <!-- 引入spring web的依赖 -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
            <!-- 引入spring 操作数据库依赖 -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-data-jpa</artifactId>
            </dependency>
            <!-- H2数据库 -->
            <dependency>
                <groupId>com.h2database</groupId>
                <artifactId>h2</artifactId>
            </dependency>
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-actuator</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
            </dependency>
        </dependencies>
    
        <!-- 引入spring cloud的依赖 -->
        <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>org.springframework.cloud</groupId>
                    <artifactId>spring-cloud-dependencies</artifactId>
                    <version>Finchley.RELEASE</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
            </dependencies>
        </dependencyManagement>
    
        <!-- 添加spring-boot的maven插件 -->
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
    
    </project>

    (2)新建启动类

     (3)写controller

  • 相关阅读:
    003-代码补全,运行,调试
    002-创建基本项目-新项目、空项目、已有项目
    001-使用idea开发环境安装部署,npm工具栏,脚本运行
    0601-Zuul构建API Gateway-API gateway简介、基础使用、路由配置、负载配置
    005-TCP传输控制协议
    0505-Hystrix保护应用-Turbine集群状态监控
    0504-Hystrix保护应用-Hystrix Dashboard的使用与常见问题总结
    0503-Hystrix保护应用-feign的hystrix支持
    004-java类保存优化
    0502-Hystrix保护应用-简介,使用,健康指标等
  • 原文地址:https://www.cnblogs.com/CUI-S/p/11824432.html
Copyright © 2011-2022 走看看