1.编写服务提供者
1.创建user-server服务模板并配置pom.xml
<dependencies>
<!-- mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- 包含mapper的mybatis-->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
</dependency>
<!-- spring-boot web依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 2.非eureka服务在pom文件中追加依赖eureka-client
(spring-cloud-starter-netflix-eureka-client)
,然后在主程序追加注解@EnableEurekaClient-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
</dependencies>
2.编写业务测试代码
[1]编写mapper
public interface UserMapper extends Mapper<User> {}
[2]编写pojo实体类
@Data
public class User {
@Id
@KeySql(useGeneratedKeys = true)
private Long id;
private String username;
private String password;
}
[3]编写service
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public User queryById(Long id){
return userMapper.selectByPrimaryKey(id);
}
}
[4]编写web
@RestController
@RequestMapping("user")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/{id}")
public User getUserById(@PathVariable("id") Long id){
return userService.queryById(id);
}
}
3.编写启动函数
@EnableEurekaClient
@SpringBootApplication
//确定mapper的位置
@MapperScan("top.chenyp.user.mapper")
public class UserApplication {
public static void main(String[] args) {
SpringApplication.run(UserApplication.class);
}
}
这样user-server就可以启动了
2.编写服务消费者
1.创建consumer-server服务模板并配置pom.xml
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
</dependency>
</dependencies>
2.编写pojo
复制一份提供者写好的user类
3.编写web获取提供者的数据
@RestController
@RequestMapping("consume")
public class ConsumerController {
// 处理负载均衡
@Autowired
private RestTemplate restTemplate;
@GetMapping("{id}")
public User queryById(@PathVariable("id") Long id){
String url="http://user-service/user/"+id;
return restTemplate.getForObject(url, User.class);
}
}
4.编写启动类
@EnableEurekaClient
@SpringBootApplication
public class ConsumerApplication {
@Bean
@LoadBalanced
public RestTemplate restTemplate(){
return new RestTemplate();
}
public static void main(String[] args) {
SpringApplication.run(ConsumerApplication.class);
}
}
5.最后编写application.yml配置
server:
port: 8081
spring:
application:
name: consumer-service
eureka:
client:
service-url:
defaultZone: http://127.0.0.1:8761/eureka
6.启动,并测试调用者是否可以调用服务提供者
如图成功了
3.最后看一下eureka页面效果
这时注册中心就有了服务提供者和服务调用者