SpringCloud(1)创建服务提供者与消费者
相关依赖
提供者:
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.1.3</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope><exclusions><exclusion><groupId>org.junit.vintage</groupId><artifactId>junit-vintage-engine</artifactId></exclusion></exclusions></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.1.22</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><dependency><groupId>com.hht.cloud</groupId><artifactId>cloud-api-commons</artifactId><version>0.0.1-SNAPSHOT</version></dependency>
消费者:
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</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>
支付业务代码(提供者)
结构如下:

yml配置:
spring:application:name: cloud-payment-servicedatasource:driver-class-name: com.mysql.cj.jdbc.Driverusername: rootpassword: 123456url: jdbc:mysql://localhost:3306/cloutstudy#指定数据源为druidtype: com.alibaba.druid.pool.DruidDataSourcedevtools:restart:#增加热部署检测时间,防止出现404poll-interval: 3s
mybatis:mapper-locations: classpath:mapper/*.xml
server:port: 8011
主要业务服务代码:
创建和查询操作:
@Service
public class PaymentServiceImpl implements PaymentService {@ResourcePaymentMapper paymentMapper;@Overridepublic int create(Payment payment) {return paymentMapper.create(payment);}@Overridepublic Payment getPaymentById(Long id) {return paymentMapper.getPaymentById(id);}
}
订单业务代码(消费者)
结构如下:

目前还没有使用注册中心来注册服务,所以先使用restTemplate来进行远程调用提供者的业务服务
容器配置类:
@Configuration
public class ApplicationContextConfig {//注册restTemplate进容器@Beanpublic RestTemplate getRestTemplate(){return new RestTemplate();}
}
控制器如下:
@RestController
@Slf4j
@RequestMapping("/consumer/payment")
public class OrderController {public static final String PAYMENT_URL="http://localhost:8011";@Autowiredprivate RestTemplate restTemplate;@PostMapping("/create")public CommonResult<Payment> create(Payment payment){return restTemplate.postForObject(PAYMENT_URL+"/payment/create",payment,CommonResult.class);}@GetMapping("/get/{id}")public CommonResult<Payment> getPayment(@PathVariable Long id){return restTemplate.getForObject(PAYMENT_URL+"/payment/get/"+id,CommonResult.class);}
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
