上一篇博客我们讲到了父项目中所需要引入的依赖。那么我们接下来将了解在子项目中所需要的加入的依赖,及其构建步骤
一、构建步骤:
1.cloud-provider-payment8001(微服务提供者支付Module模块) 2.热部署Devtools(可选择) 3.cloud-consumer-order80 4.工程重构 (注:你可以创建maven项目,也可以创建springboot项目,看个人喜好)
项目详细配置图
二、微服务模块 1、建module-》建cloud-provider-payment8001 建好后打开父项目的pom.xml文件。
我们可以看到pyment8001已经出现在了父项目当中2、改POM
<dependencies> <!--包含了sleuth+zipkin--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zipkin</artifactId> </dependency> <!--eureka-client--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> <!-- <dependency><!– 引入自己定义的api通用包,可以使用Payment支付Entity –> <groupId>com.atguigu.springcloud</groupId> <artifactId>cloud-api-commons</artifactId> <version>${project.version}</version> </dependency>--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.10</version> </dependency> <!--mysql-connector-java--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <!--jdbc--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies>3、写yml
server: port: 8001 spring: application: name: cloud-payment-service datasource: type: com.alibaba.druid.pool.DruidDataSource #当前数据源操作类型 driver-class-name: com.mysql.jdbc.Driver #mysql驱动包 url: jdbc:mysql://localhost:3306/springboot?useUnicode=true&characterEncoding=utf-8 username: root password: root mybatis: mapper-locations: classpath:mapper/*.xml type-aliases-package: com.atguigu.springcloud.entities #所有Entity别名类所有包4、主启动 5、业务类
创建sql表 `CREATE TABLE payment( `id` BIGINT(20)NOT NULL AUTO_INCREMENT COMMENT 'ID', `serial` VARCHAR(200) DEFAULT '', PRIMARY KEY(`id`) )ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;` 创建实体类 entity @Data @AllArgsConstructor @NoArgsConstructor public class Payment implements Serializable { private Long id; private String serial; } 创建数据持久层dao @Mapper public interface PaymentDao { int create(Payment payment); Payment getPaymentById(@Param("id") Long id); } 创建业务逻辑层 service public interface PaymentService { int create(Payment payment); Payment getPaymentById(@Param("id") Long id); } @Service public class PaymentServiceImpl implements PaymentService { @Resource private PaymentDao paymentDao; @Override public int create(Payment payment){ return paymentDao.create(payment); } @Override public Payment getPaymentById(@Param("id") Long id){ return paymentDao.getPaymentById(id); } } 创建控制层controller @RestController @Slf4j public class PaymentController { @Resource private PaymentService paymentService; @PostMapping(value = "/payment/create") public CommonResult Create(@ResquestBody Payment payment){ //@ResquestBody 的请求参数是转化为json字符串 int result=paymentService.create(payment); log.info("插入结果------"+result); if(result>0){ return new CommonResult(200,"插入成功",result); }else { return new CommonResult(404,"插入失败 ",null); } } @GetMapping(value = "/payment/get/{id}") public CommonResult getPaymentId(@PathVariable("id") Long id){ Payment payment=paymentService.getPaymentById(id); log.info("插入结果------"+payment); if(payment!=null){ return new CommonResult(200,"查询成功",payment); }else { return new CommonResult(404,"查询失败 ",null); } } } @SpringBootApplication public class PaymentMain8001 { public static void main(String[] args) { SpringApplication.run(PaymentMain8001.class,args); } } entity中在添加一个CommonResult类 @Data @NoArgsConstructor @AllArgsConstructor public class CommonResult<T> { /** * 编码 */ private Integer code; /** * 信息 */ private String message; /** * 返回的数据 */ private T data; public CommonResult(Integer code,String message){ this(code,message,null); } } .页面测试 查询测试: 注意:因为你使用的是post请求,所以再页面中是无法进行数据插入的,会被拦截的,所以你可以改成get的方式进行测试,或者使用postman来进行数据的插入。