接上文:搭建springcloud项目——简单明了(一)
eureka-order
首先在父工程下创建一个model
pom.xml中添加配置
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> </dependency>
application.yml配置
server: port: 7900 eureka: instance: prefer-ip-address: true client: service-rul: defaultZone: http://localhost:8761/eureka/ spring: application: name: eureka-order
创建Order类
package com.xiaoqi.springcloud.po; public class Order { private String id; private Double price; private String receiverName; private String receiverAddress; private String receiverPhone; public String getId() { return id; } public void setId(String id) { this.id = id; } public Double getPrice() { return price; } public void setPrice(Double price) { this.price = price; } public String getReceiverName() { return receiverName; } public void setReceiverName(String receiverName) { this.receiverName = receiverName; } public String getReceiverAddress() { return receiverAddress; } public void setReceiverAddress(String receiverAddress) { this.receiverAddress = receiverAddress; } public String getReceiverPhone() { return receiverPhone; } public void setReceiverPhone(String receiverPhone) { this.receiverPhone = receiverPhone; } @Override public String toString() { return "Order{" + "id='" + id + '\'' + ", price=" + price + ", receiverName='" + receiverName + '\'' + ", receiverAddress='" + receiverAddress + '\'' + ", receiverPhone='" + receiverPhone + '\'' + '}'; } }
创建Controller
package com.xiaoqi.springcloud.controller; import com.xiaoqi.springcloud.po.Order; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RestController; @RestController public class OrderController { /* * 通过id查询订单 * */ @GetMapping("/order/{id}") public String findOrderById(@PathVariable String id){ Order order = new Order(); order.setId("123"); order.setPrice(23.5); order.setReceiverAddress("beijing"); order.setReceiverName("xiaoqi"); order.setReceiverPhone("15800000000"); return order.toString(); } }
在eureka-user启动类中加入如下代码,这是RestTemplate的Spring实例,RestTemplate是Spring提供的用于访问Rest服务的客户端实例,它提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写效率。
@Bean public RestTemplate restTemplate(){ return new RestTemplate(); }
在eureka-user中编写UserController用户控制器类
由于现在还没有创建数据库,所以不能够成功查询,现在我们创建数据库
数据库名称为microservice
添加两条数据
在eureka-order 的pom.xml中添加如下
<!--MyBatis启动器--> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.1.1</version> </dependency> <!--MySql驱动--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency>
在eureka-order中新建UserMapper
@Mapper public interface UserMapper { //查询所有用户 @Select("select * from tb_user") List<User> getAllUsers(); //删除用户 @Delete("delete from tb_user where id=#{id}") void delete(Integer id); }
建立User类
public class User { private Integer id; private String username; private String address; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } @Override public String toString() { return "User{" + "id=" + id + ", username='" + username + '\'' + ", address='" + address + '\'' + '}'; }