用了新的服务治理中心,所有从头开始写吧,顺便加深一下印象
1. 创建父工程
(1) 过程如图
(2)父工程的pom文件添加如下内容:
<packaging>pom</packaging> <!-- 同一jar包管理 --> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <junit.version>4.12</junit.version> <lombok.version>1.18.10</lombok.version> <log4j.version>1.2.17</log4j.version> <mysql.version>5.1.47</mysql.version> <druid.version>1.1.16</druid.version> <mybatis.spring.boot.version>1.3.0</mybatis.spring.boot.version> </properties> <dependencyManagement><!--定义规范,但不导入--> <dependencies> <dependency> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-project-info-reports-plugin</artifactId> <version>3.0.0</version> </dependency> <!--spring boot 2.2.2--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>2.2.2.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> <!--spring cloud Hoxton.SR1--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Hoxton.SR1</version> <type>pom</type> <scope>import</scope> </dependency> <!--spring cloud 阿里巴巴--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>2.1.0.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> <!--mysql--> <!--<dependency>--> <!--<groupId>mysql</groupId>--> <!--<artifactId>mysql-connector-java</artifactId>--> <!--<version>${mysql.version}</version>--> <!--<scope>runtime</scope>--> <!--</dependency>--> <!-- druid--> <!--<dependency>--> <!--<groupId>com.alibaba</groupId>--> <!--<artifactId>druid</artifactId>--> <!--<version>${druid.version}</version>--> <!--</dependency>--> <!--mybatis--> <!--<dependency>--> <!--<groupId>org.mybatis.spring.boot</groupId>--> <!--<artifactId>mybatis-spring-boot-starter</artifactId>--> <!--<version>${mybatis.spring.boot.version}</version>--> <!--</dependency>--> <!--junit--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${junit.version}</version> </dependency> <!--log4j--> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>${log4j.version}</version> </dependency> <!-- 格式化json--> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.66</version> </dependency> </dependencies> </dependencyManagement> <!--热启动插件--> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <fork>true</fork> <addResources>true</addResources> </configuration> </plugin> </plugins> </build>
2. 下载并且启动Consul,官网下载路径:点击进入,另外,我使用的版本耶提供下载
链接:https://pan.baidu.com/s/1_NRQBvHI4Lza4CI2HKHqeg
提取码:xxnc
下载完后解压,里面有一个consul.exe,在cmd命令下,输入consul agent -dev,启动服务,为了避免每次打开都要手动输入命令,新建一个bat文件,输入consul agent -dev,如图,双击bat文件启动
3. 新建子模块,名字为service_payment_8001
(1) 过程如下
(2)添加如下依赖
<dependencies> <!-- 发送web --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- 测试模块 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <!-- 服务治理中心consul --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-consul-discovery</artifactId> </dependency> <!-- 健康监控中心 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> </dependencies>
(3)在src/main/java下新建主启动类
@SpringBootApplication @EnableDiscoveryClient public class ConsulPayment8001 { public static void main(String[] args) { SpringApplication.run(ConsulPayment8001.class,args); } }
(4)新建在resources下application.yml文件
server: port: 8003 spring: application: name: consul-provice-payment cloud: #consul服务治理中心配置 consul: host: localhost port: 8500 discovery: #注册consul的应用名称 service-name: ${spring.application.name} #开启心跳检查 heartbeat: enabled: true
4启动服务器,在浏览器输入http://localhost:8500/ui/dc1/service,看到如下表名微服务注册Consul成功