一、服务提供者
直接提供服务,入门案例没有特别要设置的地方,注意下端口,由于要启动多个服务,可能会冲突
配置文件(src/main/resources/application.yml)了解springcloud架构可以加求求:三五三六二四七二五server: port: 8000
二、服务消费者
服务消费者的依赖在这个单独的demo中其实可有可无,亲测不添加,也可以实现demo服务提供能
三、服务消费者启动类里注入RestTemplate,用于调用远程服务
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.web.client.RestTemplate;
@SpringBootApplication
public class MovieApplication {
@Bean
public RestTemplate restTemplate() {
return new RestTemplate();
}
public static void main(String[] args) {
SpringApplication.run(MovieApplication.class, args);
}
}四、服务消费者Controller
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;
import com.xujie.pojo.User;
@RestController
public class UserController {
@Autowired
private RestTemplate restTemplate;
@GetMapping("/getUser")
public User getUser() {
return this.restTemplate.getForObject("http://localhost:8000/getUser", User.class);
}
}此时可以通过访问消费者,间接调用服务提供者的服务,
五、创建服务注册中心,这里选用Eureka
5.1在springboot基础环境上添加依赖
org.springframework.cloud spring-cloud-dependenciesBrixton.SR5 pom import org.springframework.cloud spring-cloud-starter-eureka-server
5.2启动类的编码
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
@SpringBootApplication
@EnableEurekaServer //声明这是一个Eureka服务器
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}5.3配置文件(src/main/resources/application.yml)
server: port: 8761 #声明端口号 eureka: client: register-with-eureka: false #默认是true,将自己注册到eureka上 fetch-registry: false #是否从eureka上获取信息,由于本案例是单机,无需从别的eureka上获取注册信息 service-url: defaultZone: http://localhost:8761/eureka #设置与eureka交互的地址,查询服务和注册服务都需要依赖这个地址,默认是:http://localhost:8761/eureka
六、将服务提供者注册到服务注册中心
6.1改造服务提供者
6.1.1添加依赖,便于把服务注册到注册中心Eureka中去:
org.springframework.cloud spring-cloud-dependenciesBrixton.SR5 pom import org.springframework.cloud spring-cloud-starter-eureka-server
6.1.2修改配置文件,添加下列配置
spring: application: name: provider #注册到Eureka Server上的应用名称 eureka: client: service-url: defaultZone: http://localhost:8761/eureka #注册的位置 instance: prefer-ip-address: true #将自己的ip注册到EuekaServer上
6.1.3修改启动类
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
@SpringBootApplication
@EnableDiscoveryClient //也可以用EnableDiscoveryClient代替,前者兼容性更大,后者仅能兼容Eureka
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}此时可以正常启动并将服务注册到了eureka中,spring cloud b2b2c电子商务社交平台源码请加企鹅求求:三五三六二四七二五九
启动Eureka和服务提供者访问:
http://localhost:8761,界面如下:


