创建多模块springcloud应用eureka server和client和消费端demo
使用环境是 STS + maven
1 创建父级 项目,springcloud-demo1
new -> maven project ->
按照要求进行配置即可。然后删除 src目录,因为父级项目只是配置项目依赖和版本控制使用。
1.2 修改 pom 文件
<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.huitong</groupId><artifactId>springcloud-demo1</artifactId><version>0.0.1-SNAPSHOT</version><packaging>pom</packaging><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version><spring-cloud.version>Edgware.SR4</spring-cloud.version></properties><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.13.RELEASE</version></parent><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement> <modules></modules> </project>
此时也要注意springcloud 和 springboot 版本之间有一定的关联性,最好使用官网推荐的对应版本。否则可能会出现版本不兼容的问题。我就是这么趟的坑过来的
2 创建 eureka server端项目,spring-cloud-sureka-server
在 springcloud-demo1 项目上右击, new -> maven module
2.2 修改 pom 文件,添加 eureka-server 依赖, spring-cloud-starter-eureka-server
<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><parent><groupId>com.huitong</groupId><artifactId>springcloud-demo1</artifactId><version>0.0.1-SNAPSHOT</version></parent><artifactId>spring-cloud-eureka-server</artifactId><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka-server</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><optional>true</optional></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build> </project>
2.3 添加配置文件 application.yml
server:port: 8010spring:application:name: eureka-servereureka:instance:hostname: 127.0.0.1server: # 关闭自我保护,当服务出现故障自动剔除。清理间隔(单位毫秒,默认是60*1000)enableSelfPreservation: falseclient:registerWithEureka: falsefetchRegistry: falseserviceUrl:defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
eureka 配置说明 可见 http://www.cnblogs.com/li3807/p/7282492.html
在 server 端 service-url 指定暴露出的注册服务地址。让客户端可以将应用注册到该地址上。
2.4 添加启动类,StartEurekaServer
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;@SpringBootApplication @EnableEurekaServer public class StartEurekaServer {public static void main(String[] args) {SpringApplication.run(StartEurekaServer.class, args);}}
3 新建一个服务提供端 module,spring-cloud-eureka-client-demo1,跟 eureka 方法一样,在springcloud-demo1项目上右击, new -> maven module
3.2 修改 pom 文件
<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><parent><groupId>com.huitong</groupId><artifactId>springcloud-demo1</artifactId><version>0.0.1-SNAPSHOT</version></parent><artifactId>spring-cloud-eureka-client-demo1</artifactId><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- https://mvnrepository.com/artifact/org.projectlombok/lombok --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><scope>provided</scope></dependency><!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 --><dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId></dependency></dependencies></project>
3.3 添加配置文件 application.yml
server:port: 8020spring:application:name: eureka-client-demo1eureka:instance:preferIpAddress: truehostname: 127.0.0.1instanceId: ${spring.cloud.client.ipAddress:127.0.0.1}:${server.port}client:registerWithEureka: truefetchRegistry: trueserviceUrl:defaultZone: http://${eureka.instance.hostname}:${eureka.port:8010}/eureka/
3.4 编写启动类,SpringCloudDemo1
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.EnableEurekaClient;@SpringBootApplication @EnableEurekaClient public class SpringCloudDemo1 {public static void main(String[] args) {SpringApplication.run(SpringCloudDemo1.class, args);}}
3.5 简单的实体类,Student
import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor;@Data @NoArgsConstructor @AllArgsConstructor @Builder public class Student {private String name;private Integer age;}
3.6 Controller
import org.apache.commons.lang3.ObjectUtils; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController;@RestController public class StudentController {@RequestMapping(value="/student/demo1", method=RequestMethod.GET)public Student getStu1() {Student result = Student.builder().name("allen").age(23).build();if (ObjectUtils.allNotNull(result)) {System.out.println(result);}return result;}}
此时访问页面 :http://localhost:8010/
说明:由于springcloud 版本低或者什么原因,在编写配置时,使用的是 横线命名法 启动的时候一直给我报错,com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: connect
后来查阅大量资料发现将配置属性全部改为 驼峰命名法 就好了
创建多模块springcloud应用eureka server和client和消费端demo相关推荐
- 【spring-cloud】Eureka server和client之间的心跳通信
为什么80%的码农都做不了架构师?>>> 启动两个Eureka Client,过了一会,停了其中一个,访问注册中心时,界面上显示了红色粗体警告信息: EMERGENCY! EU ...
- 关于springcloud中eureka server端配置的一些总结
1.yml格式用:号,properties格式用 = 号: 2.maven下载包的时间较长,如果出现断网等情况可能会导致jar包读不到,不要着急,一个个删了重下 3.java.net.ConnectE ...
- SpringCloud创建Gateway模块
1.说明 本文详细介绍Spring Cloud创建Gateway模块的方法, 基于已经创建好的Spring Cloud父工程, 请参考SpringCloud创建项目父工程, 和已经创建好的Eureka ...
- SpringCloud之Eureka实战和架构设计解析
SpringCloud之Eureka实战和架构设计解析 Netflix Eureka(后文简称Eureka)是由Netflix开源的一款基于REST的服务发现组件,包括Eureka Server及Eu ...
- (一)SpringCloud之Eureka注册中心
Eureka注册中心 1.什么是注册中心 打个比方,注册中心就好比手机中的通讯录,所有的联系人的联系方式就在这个通讯录中储存.当需要打电话的时候,只需要查询通讯录就可以获取某个联系人的联系方式. 注册 ...
- Eureka Server源码解析(服务故障下线剔除流程)
原创不易,转载注明出处 系列文章目录 <SpringCloud Eureka Server源码解析(启动流程)> <Eureka Server源码解析(服务注册流程)> < ...
- SpringCloud之Eureka原理和eureka优雅停服和安全认证
文章目录 1 Eureka 1.1 什么是Eureka注册中心 1.2 Eureka注册中心三种角色 1.2.1 Eureka Server 1.2.2 Application Service (Se ...
- SpringCloud创建Config模块
1.说明 本文详细介绍Spring Cloud创建Config模块的方法, 基于已经创建好的Spring Cloud父工程, 请参考SpringCloud创建项目父工程, 创建Config模块这个子工 ...
- springcloud 之服务注册与发现Eureka Server
我们在做分布式服务的时候总免不了听到"注册中心"这些词,那时候的我们总感觉这些东西很神秘很高大上,其实等我们正在去了解的时候发现其实他就是一个用来登记服务实例的一个容器而已,例如学 ...
最新文章
- 小学AI教材终于来了,下一步是AI胎教吗?
- 优化调整Oracle 8i数据库
- 含有min()函数的栈,各种操作时间复杂度为O(1)
- 【C/C++】头文件包含之#include的2种用法区别
- 吹爆google colab
- 使用 Boost.MPI 的 split() 操作对通信器的示例
- 《剑指offer》扑克牌顺序
- IBASE structure
- 苹果cms v10 仿电影淘淘PC+WAP模板
- Mybatis官方文档:简介和入门
- unity 中是如何实现游戏人物换装的
- win10家庭版调出组策略_普通用户选择哪个Win10系统版本?家庭版与专业版的对比介绍...
- 微软和Google的盈利模式对比分析
- 【win10操作系统基础】我的电脑 控制面板 win10桌面图标有个箭头如何不显示 去掉win10桌面图标箭头的方法
- Python在计算机里快速查找文件
- 几代数字无线通信系统标准汇总
- 杰普(briup)软件公司JAVA培训项目《电信宽带运营支撑系统(WOSS)》
- Visio 中插入的Excel 如何只显示数据部分?
- 数学史资料:古巴比伦数学
- 关于我一不小心拆了个USB2.0拓展坞这件事——浅谈HS8836A芯片
热门文章
- 2011年1月28日早会资料(最终版本)
- 【PL/SQL】 使用游标
- 使用autogen工具生成Makefile遇到问题解决思路
- (Windows7)Visual Studio 2017编译运行出现脚本错误的解决方法
- 解决爬取网站过程中遇到的HTTP Error 302错误和中文乱码问题
- Mybatis自定义分布式二级缓存实现与遇到的一些问题解决方案!
- 执行update操作的话,就会报“Connection is read-only. Queries leading to data modification are not allowed”的异常。
- mysql自动断开该连接解决方案
- Oracle存储过程的异常处理
- 老电脑应该怎么重装系统比较好