一、初体验
创建一个名为springcloud-eureka-client
的项目
一. 导入相应的Maven依赖
</dependency><!--导入连接eureka服务器的客户端依赖-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
</dependencies>
<!--导入springcloud依赖-->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Hoxton.SR3</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
二. 修改application.properties
为application.yml
spring:
application:
#在服务器中的服务名称
name: provider-client
eureka:
client:
service-url:
#连接服务器的url
defaultZone: http://root:root@192.168.255.130:9988/eureka #该IP为eureka在Docker搭建的服务器IP
instance:
#每隔多长时间注册一次
lease-renewal-interval-in-seconds: 5
#每隔多长时间销毁一次
lease-expiration-duration-in-seconds: 5
#显示当前服务的ip地址和端口号
instance-id: ${spring.cloud.client.ip-address}:${server.port}
server:
port: 8081
注意: 需要指明spring.application.name
,这个很重要,这在以后的服务与服务之间相互调用一般都是根据这个name
三. 在启动类添加注解驱动
//只能连接eureka注册中心
@EnableEurekaClient //表明自己是一个 Eureka Client
//可以连接其他的注册中心
@EnableDiscoveryClient
四. 在启动类同包下建立包controller
Java名为ProviderAdminController
@RestController //使用@RestController这个注解,不能返回jsp,html页面
public class ProviderAdminController {
@Value("${server.port}")
private String port;
@GetMapping(value = "hi")
public String sayHi() {
return "Hello Eureka, i am from port: " + port;
}
}
五. 通过浏览器访问
启动工程,打开 http://服务器搭建的EurekaIP:9988,即 Eureka Server 的网址:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5TCd6WfU-1594945461515)(https://pics.images.ac.cn/image/5f053242c8dcd.html)]
你会发现一个服务已经注册在服务中了,服务名为PROVIDER-ADMIN
, 端口为 8081,这时打开http://localhost:8081/hi
你会在浏览器上看到 :
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q95HYo84-1594945461517)(https://pics.images.ac.cn/image/5f05328e4c95f.html)]
二、Feign连接数据库
一、创建公共类
1.添加@Data Maven依赖
<dependencies>