赞
踩
父工程
<!--SpringCloud-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Greenwich.SR1</version>
</dependency>
<!--SpringBoot-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.1.4.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</project>
eureka 注册中心
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
<version>1.4.6.RELEASE</version>
</dependency>
@EnableEurekaServer
server: port: 7001 # Eureka eureka: instance: # Eureka服务端的实例名称 hostname: localhost client: # false表示不向Eureka注册自己 register-with-eureka: false # false表示自己是注册中心 fetch-registry: false service-url: # 单机:defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ # 集群(配置要关联的eureka客户端) defaultZone: http://eureka7002:7002/eureka/,http://eureka7003:7003/eureka/
服务提供者
<!--eureka-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
<version>1.4.6.RELEASE</version>
</dependency>
<!--监控-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!--实体类-->
server: port: 8081 mybatis: # 别名配置 type-aliases-package: com.example.pojo # 配置类的位置 config-location: classpath:mybatis/mybatis-config.xml # 扫描映射文件 mapper-locations: classpath:mybatis/mapper/*.xml spring: application: name: springcloud-provider-dept datasource: username: root password: root url: jdbc:mysql://localhost:3306/spring_cloud?useSSL=true&useUnicode=true&charsetEncoding=UTF-8&serverTimezone=UTC driver-class-name: com.mysql.jdbc.Driver # eureka eureka: # 客户端注册 client: service-url: # 注册到哪里 defaultZone: http://eureka7001:7001/eureka/,http://eureka7002:7002/eureka/,http://eureka7003:7003/eureka/ instance: # 设置客户端实例的访问链接描述 instance-id: springcloud-provider-dept-8081 # 客户端info配置 info: # 访问 localhost:8081/actuator/info 得到json数据:{"app":{"name":"部门信息"}} app.name: 部门信息
@EnableEurekaClient
@EnableDiscoveryClient
import org.springframework.cloud.client.discovery.DiscoveryClient;
// 获取配置信息,得到具体的微服务等
@Autowired
private DiscoveryClient client;
@GetMapping("/discovery")
public Object discovery(){
// 获取微服务列表
List<String> services = client.getServices();
// 获取具体的微服务的信息
List<ServiceInstance> instances = client.getInstances("springcloud-provider-dept");
return client;
}
消费者
@Configuration
public class ConfigBean {
@Bean
public RestTemplate restTemplate(){
return new RestTemplate();
}
}
@RestController
@RequestMapping("/consumer/dept")
public class DeptController {
@Autowired
private RestTemplate restTemplate;
@GetMapping("/query/{deptNo}")
public Dept queryByDeptNo(@PathVariable("deptNo") Long deptNo){
return restTemplate.getForObject("http://localhost:8081/dept/query/" + deptNo, Dept.class);
}
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。