diff --git a/.gitignore b/.gitignore index a1c2a238a965f004ff76978ac1086aa6fe95caea..84c4fb3fc73228217b1718b97542a85a7b0ccb79 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,9 @@ + +*.iml +.idea +*/.idea +target + # Compiled class file *.class diff --git a/cloud/common/cloud-parent/pom.xml b/cloud/common/cloud-parent/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..da4ba10abf4c9f3ca2ad3ba767a3dde691858698 --- /dev/null +++ b/cloud/common/cloud-parent/pom.xml @@ -0,0 +1,36 @@ + + + + spring-demo + com.ganlucode.demo + 0.0.1-SNAPSHOT + ../../../pom.xml + + 4.0.0 + pom + + ../../domain/a/service-a-api + ../common-api + ../common-dao + ../common-pojo + ../common-service + ../common-web + + + cloud-parent + + + + + org.springframework.cloud + spring-cloud-dependencies + Greenwich.SR1 + pom + import + + + + + \ No newline at end of file diff --git a/cloud/common/common-api/pom.xml b/cloud/common/common-api/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..95710b30e991dee0f25a1fed7ec5ab8a1376e60a --- /dev/null +++ b/cloud/common/common-api/pom.xml @@ -0,0 +1,32 @@ + + + + cloud-parent + com.ganlucode.demo + 0.0.1-SNAPSHOT + ../cloud-parent/pom.xml + + 4.0.0 + pom + + ../../domain/b/service-b-api + + + common-api + + + + + org.springframework.boot + spring-boot-starter-web + + + + org.springframework.cloud + spring-cloud-starter-openfeign + + + + \ No newline at end of file diff --git a/cloud/common/common-dao/pom.xml b/cloud/common/common-dao/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..b59ed90fab853d83698e046a9b99d53def4da394 --- /dev/null +++ b/cloud/common/common-dao/pom.xml @@ -0,0 +1,37 @@ + + + + cloud-parent + com.ganlucode.demo + 0.0.1-SNAPSHOT + ../cloud-parent/pom.xml + + 4.0.0 + pom + + ../../domain/a/service-a-dao + ../../domain/b/service-b-dao + + + common-dao + + + + + com.baomidou + mybatis-plus-boot-starter + + + mysql + mysql-connector-java + + + com.alibaba + druid-spring-boot-starter + + + + + \ No newline at end of file diff --git a/cloud/common/common-pojo/pom.xml b/cloud/common/common-pojo/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..567636f1783622d8cf8873e6814c1a8d1169ce2a --- /dev/null +++ b/cloud/common/common-pojo/pom.xml @@ -0,0 +1,41 @@ + + + + cloud-parent + com.ganlucode.demo + 0.0.1-SNAPSHOT + ../cloud-parent/pom.xml + + 4.0.0 + pom + + ../../domain/a/service-a-pojo + ../../domain/b/service-b-pojo + + + common-pojo + + + + javax.persistence + persistence-api + 1.0 + + + org.hibernate.validator + hibernate-validator + + + + + com.baomidou + mybatis-plus-annotation + ${mybatis-plus.version} + + + + + + \ No newline at end of file diff --git a/cloud/common/common-service/pom.xml b/cloud/common/common-service/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..a446e0c05fd05484fabbd44e24c2e41902c039bb --- /dev/null +++ b/cloud/common/common-service/pom.xml @@ -0,0 +1,30 @@ + + + + cloud-parent + com.ganlucode.demo + 0.0.1-SNAPSHOT + ../cloud-parent/pom.xml + + 4.0.0 + pom + + ../../domain/a/service-a-service + ../../domain/b/service-b-service + + + common-service + + + + + + org.springframework.cloud + spring-cloud-starter-netflix-hystrix + + + + + \ No newline at end of file diff --git a/cloud/common/common-web/pom.xml b/cloud/common/common-web/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..f55f9ddcff29167bda82f2ecc78d268f46c57d12 --- /dev/null +++ b/cloud/common/common-web/pom.xml @@ -0,0 +1,63 @@ + + + + cloud-parent + com.ganlucode.demo + 0.0.1-SNAPSHOT + ../cloud-parent/pom.xml + + 4.0.0 + pom + + ../../domain/a/service-a-web + ../../domain/b/service-b-web + + + common-web + + + + + + org.springframework.cloud + spring-cloud-starter-sleuth + + + + org.springframework.cloud + spring-cloud-starter-zipkin + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-actuator + + + org.springframework.boot + spring-boot-starter-aop + + + + org.springframework.cloud + spring-cloud-starter-netflix-eureka-client + + + + org.springframework.cloud + spring-cloud-starter-config + + + org.springframework.boot + spring-boot-configuration-processor + true + + + + + \ No newline at end of file diff --git a/cloud/domain/a/service-a-api/pom.xml b/cloud/domain/a/service-a-api/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..b5706af10589a489aded106ff18d7d8e3d3063ca --- /dev/null +++ b/cloud/domain/a/service-a-api/pom.xml @@ -0,0 +1,25 @@ + + + + common-api + com.ganlucode.demo + 0.0.1-SNAPSHOT + ../../../common/common-api/pom.xml + + 4.0.0 + + service-a-api + + + + + service-a-pojo + com.ganlucode.demo + ${project.version} + + + + + \ No newline at end of file diff --git a/cloud/domain/a/service-a-dao/pom.xml b/cloud/domain/a/service-a-dao/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..12bcd49898a2afc8c54b0d0853cd89d3c512ea0e --- /dev/null +++ b/cloud/domain/a/service-a-dao/pom.xml @@ -0,0 +1,25 @@ + + + + common-dao + com.ganlucode.demo + 0.0.1-SNAPSHOT + ../../../common/common-dao/pom.xml + + 4.0.0 + + service-a-dao + + + + + service-a-pojo + com.ganlucode.demo + ${project.version} + + + + + \ No newline at end of file diff --git a/cloud/domain/a/service-a-pojo/pom.xml b/cloud/domain/a/service-a-pojo/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..f207744ecd21b78f4298cfbbda5cba4b1f09b277 --- /dev/null +++ b/cloud/domain/a/service-a-pojo/pom.xml @@ -0,0 +1,16 @@ + + + + common-pojo + com.ganlucode.demo + 0.0.1-SNAPSHOT + ../../../common/common-pojo/pom.xml + + 4.0.0 + + service-a-pojo + + + \ No newline at end of file diff --git a/cloud/domain/a/service-a-service/pom.xml b/cloud/domain/a/service-a-service/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..1707f6d074fad8b6a5fc8007c6ed5f6e2d7552c9 --- /dev/null +++ b/cloud/domain/a/service-a-service/pom.xml @@ -0,0 +1,29 @@ + + + + common-service + com.ganlucode.demo + 0.0.1-SNAPSHOT + ../../../common/common-service/pom.xml + + 4.0.0 + + service-a-service + + + + + service-a-dao + com.ganlucode.demo + ${project.version} + + + service-a-api + com.ganlucode.demo + ${project.version} + + + + \ No newline at end of file diff --git a/cloud/domain/a/service-a-web/pom.xml b/cloud/domain/a/service-a-web/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..c151e38d819d8790d035f83bd56151430af0901e --- /dev/null +++ b/cloud/domain/a/service-a-web/pom.xml @@ -0,0 +1,26 @@ + + + + common-web + com.ganlucode.demo + 0.0.1-SNAPSHOT + ../../../common/common-web/pom.xml + + 4.0.0 + + service-a-web + + + + + + + + + + + + + \ No newline at end of file diff --git a/cloud/domain/a/service-a-web/src/main/java/com/ganlucode/springcloud/ServiceAApplication.java b/cloud/domain/a/service-a-web/src/main/java/com/ganlucode/springcloud/ServiceAApplication.java new file mode 100644 index 0000000000000000000000000000000000000000..e9e7b81ca3a420bafab94b4a5a6e605c803c5961 --- /dev/null +++ b/cloud/domain/a/service-a-web/src/main/java/com/ganlucode/springcloud/ServiceAApplication.java @@ -0,0 +1,29 @@ +package com.ganlucode.springcloud; + +import org.springframework.boot.WebApplicationType; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.builder.SpringApplicationBuilder; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.context.annotation.Bean; +import org.springframework.web.client.RestTemplate; + +/** + * @author GanLu + * @date 2020-08-11 19:42 + */ +@SpringBootApplication +@EnableDiscoveryClient +public class ServiceAApplication { + + @Bean + public RestTemplate register() { + return new RestTemplate(); + } + + public static void main(String[] args) { + new SpringApplicationBuilder(ServiceAApplication.class) + .web(WebApplicationType.SERVLET) + .run(args); + } + +} diff --git a/cloud/domain/a/service-a-web/src/main/java/com/ganlucode/springcloud/controller/EurekaController.java b/cloud/domain/a/service-a-web/src/main/java/com/ganlucode/springcloud/controller/EurekaController.java new file mode 100644 index 0000000000000000000000000000000000000000..38dc9ea281744d0f00a401c10246da6864f58d4c --- /dev/null +++ b/cloud/domain/a/service-a-web/src/main/java/com/ganlucode/springcloud/controller/EurekaController.java @@ -0,0 +1,79 @@ +package com.ganlucode.springcloud.controller; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.cloud.client.ServiceInstance; +import org.springframework.cloud.client.discovery.DiscoveryClient; +import org.springframework.cloud.client.loadbalancer.LoadBalancerClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.client.RestTemplate; + +import java.util.List; + +/** + * @author GanLu + * @date 2020-08-11 19:46 + */ +@Slf4j +@RestController +@RequestMapping("/eureka") +public class EurekaController { + + @Autowired + private LoadBalancerClient client; + + @Autowired + private RestTemplate restTemplate; + + @Autowired + private DiscoveryClient discoveryClient; + + @Value("${spring.application.name}") + private String applicationName; + + public static final String SERVICE_NAME_B = "SERVICE-B"; + + @GetMapping("/sayHi") + public String sayHi() { + + + return "Hello, this is "+applicationName; + } + + @GetMapping("/b/hello") + public String hello() { + ServiceInstance instance = client.choose(SERVICE_NAME_B); + + if (instance == null) { + return "No available instances"; + } + + String target = String.format("http://%s:%s/eureka/sayHi", + instance.getHost(), + instance.getPort()); + log.info("url is {}", target); + + return restTemplate.getForObject(target, String.class); + } + + @GetMapping("/b/hello2") + public String hello2() { + List serviceInstanceList = discoveryClient.getInstances(SERVICE_NAME_B); + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < serviceInstanceList.size(); i++) { + ServiceInstance serviceInstance = serviceInstanceList.get(i); + String target = String.format("http://%s:%s/eureka/sayHi", + serviceInstance.getHost(), + serviceInstance.getPort()); + log.info("url is {}", target); + sb.append(restTemplate.getForObject(target, String.class)); + sb.append("\n"); + } + return sb.toString(); + } + + +} diff --git a/cloud/domain/a/service-a-web/src/main/resources/application.yml b/cloud/domain/a/service-a-web/src/main/resources/application.yml new file mode 100644 index 0000000000000000000000000000000000000000..f333ceba29deac20e8da427e8bd531eb2b8c6708 --- /dev/null +++ b/cloud/domain/a/service-a-web/src/main/resources/application.yml @@ -0,0 +1,23 @@ +############################################################ +# +# Eureka注册中心 +# +############################################################ +eureka: + client: + serviceUrl: + defaultZone: http://localhost:20000/eureka/ + +spring: + application: + name: service-a + +server: + port: 20011 + + + + + + + diff --git a/cloud/domain/b/service-b-api/pom.xml b/cloud/domain/b/service-b-api/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..2763dedea5b008bd0dbd1b0c21d396b3268a0a41 --- /dev/null +++ b/cloud/domain/b/service-b-api/pom.xml @@ -0,0 +1,25 @@ + + + + common-api + com.ganlucode.demo + 0.0.1-SNAPSHOT + ../../../common/common-api/pom.xml + + 4.0.0 + + service-b-api + + + + + service-b-pojo + com.ganlucode.demo + ${project.version} + + + + + \ No newline at end of file diff --git a/cloud/domain/b/service-b-dao/pom.xml b/cloud/domain/b/service-b-dao/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..ee4cc0a44707699b0adba4e4ea40c29aa36fdca5 --- /dev/null +++ b/cloud/domain/b/service-b-dao/pom.xml @@ -0,0 +1,16 @@ + + + + common-dao + com.ganlucode.demo + 0.0.1-SNAPSHOT + ../../../common/common-dao/pom.xml + + 4.0.0 + + service-b-dao + + + \ No newline at end of file diff --git a/cloud/domain/b/service-b-pojo/pom.xml b/cloud/domain/b/service-b-pojo/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..7a1dfbc06d68cba68b7830267478a08b1d310e54 --- /dev/null +++ b/cloud/domain/b/service-b-pojo/pom.xml @@ -0,0 +1,16 @@ + + + + common-pojo + com.ganlucode.demo + 0.0.1-SNAPSHOT + ../../../common/common-pojo/pom.xml + + 4.0.0 + + service-b-pojo + + + \ No newline at end of file diff --git a/cloud/domain/b/service-b-service/pom.xml b/cloud/domain/b/service-b-service/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..3f8865558ca1cd1d05b08db18a5d60e835b92a81 --- /dev/null +++ b/cloud/domain/b/service-b-service/pom.xml @@ -0,0 +1,30 @@ + + + + common-service + com.ganlucode.demo + 0.0.1-SNAPSHOT + ../../../common/common-service/pom.xml + + 4.0.0 + + service-b-service + + + + + service-b-dao + com.ganlucode.demo + ${project.version} + + + service-b-api + com.ganlucode.demo + ${project.version} + + + + + \ No newline at end of file diff --git a/cloud/domain/b/service-b-web/pom.xml b/cloud/domain/b/service-b-web/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..80e7b7c6304ec90a3035bacd536026cae46c9b4c --- /dev/null +++ b/cloud/domain/b/service-b-web/pom.xml @@ -0,0 +1,25 @@ + + + + common-web + com.ganlucode.demo + 0.0.1-SNAPSHOT + ../../../common/common-web/pom.xml + + 4.0.0 + + service-b-web + + + + + + + + + + + + \ No newline at end of file diff --git a/cloud/domain/b/service-b-web/src/main/java/com/ganlucode/springcloud/ServiceBApplication.java b/cloud/domain/b/service-b-web/src/main/java/com/ganlucode/springcloud/ServiceBApplication.java new file mode 100644 index 0000000000000000000000000000000000000000..b4bb3b2b7c378d9e9ab42a06250e33021ff51152 --- /dev/null +++ b/cloud/domain/b/service-b-web/src/main/java/com/ganlucode/springcloud/ServiceBApplication.java @@ -0,0 +1,29 @@ +package com.ganlucode.springcloud; + +import org.springframework.boot.WebApplicationType; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.builder.SpringApplicationBuilder; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.context.annotation.Bean; +import org.springframework.web.client.RestTemplate; + +/** + * @author GanLu + * @date 2020-08-11 19:42 + */ +@SpringBootApplication +@EnableDiscoveryClient +public class ServiceBApplication { + + @Bean + public RestTemplate register() { + return new RestTemplate(); + } + + public static void main(String[] args) { + new SpringApplicationBuilder(ServiceBApplication.class) + .web(WebApplicationType.SERVLET) + .run(args); + } + +} diff --git a/cloud/domain/b/service-b-web/src/main/java/com/ganlucode/springcloud/controller/EurekaController.java b/cloud/domain/b/service-b-web/src/main/java/com/ganlucode/springcloud/controller/EurekaController.java new file mode 100644 index 0000000000000000000000000000000000000000..a36103699df7a9b9a15c4dc359e005e254e54f1d --- /dev/null +++ b/cloud/domain/b/service-b-web/src/main/java/com/ganlucode/springcloud/controller/EurekaController.java @@ -0,0 +1,78 @@ +package com.ganlucode.springcloud.controller; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.cloud.client.ServiceInstance; +import org.springframework.cloud.client.discovery.DiscoveryClient; +import org.springframework.cloud.client.loadbalancer.LoadBalancerClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.client.RestTemplate; + +import java.util.List; + +/** + * @author GanLu + * @date 2020-08-11 19:46 + */ +@Slf4j +@RestController +@RequestMapping("/eureka") +public class EurekaController { + + @Autowired + private LoadBalancerClient client; + + @Autowired + private RestTemplate restTemplate; + + @Autowired + private DiscoveryClient discoveryClient; + + @Value("${spring.application.name}") + private String applicationName; + + public static final String SERVICE_NAME_A = "SERVICE-A"; + + @GetMapping("/sayHi") + public String sayHi() { + + return "Hello, this is "+applicationName; + } + + @GetMapping("/a/hello") + public String hello() { + ServiceInstance instance = client.choose(SERVICE_NAME_A); + + if (instance == null) { + return "No available instances"; + } + + String target = String.format("http://%s:%s/eureka/sayHi", + instance.getHost(), + instance.getPort()); + log.info("url is {}", target); + + return restTemplate.getForObject(target, String.class); + } + + @GetMapping("/a/hello2") + public String hello2() { + List serviceInstanceList = discoveryClient.getInstances(SERVICE_NAME_A); + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < serviceInstanceList.size(); i++) { + ServiceInstance serviceInstance = serviceInstanceList.get(i); + String target = String.format("http://%s:%s/eureka/sayHi", + serviceInstance.getHost(), + serviceInstance.getPort()); + log.info("url is {}", target); + sb.append(restTemplate.getForObject(target, String.class)); + sb.append("\n"); + } + return sb.toString(); + } + + +} diff --git a/cloud/domain/b/service-b-web/src/main/resources/application.yml b/cloud/domain/b/service-b-web/src/main/resources/application.yml new file mode 100644 index 0000000000000000000000000000000000000000..23954e64b96adca03c7ab9761462e52341a5f618 --- /dev/null +++ b/cloud/domain/b/service-b-web/src/main/resources/application.yml @@ -0,0 +1,23 @@ +############################################################ +# +# Eureka注册中心 +# +############################################################ +eureka: + client: + serviceUrl: + defaultZone: http://localhost:20000/eureka/ + +spring: + application: + name: service-b + +server: + port: 20012 + + + + + + + diff --git a/cloud/platform/eureka-server/pom.xml b/cloud/platform/eureka-server/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..a84de423c0534ef82ce1eb15e1c8fd50cfb08afa --- /dev/null +++ b/cloud/platform/eureka-server/pom.xml @@ -0,0 +1,22 @@ + + + + cloud-parent + com.ganlucode.demo + 0.0.1-SNAPSHOT + ../../common/cloud-parent/pom.xml + + 4.0.0 + + eureka-server + + + + org.springframework.cloud + spring-cloud-starter-netflix-eureka-server + + + + \ No newline at end of file diff --git a/cloud/platform/eureka-server/src/main/java/com/ganlucode/springcloud/EurekaServerApplication.java b/cloud/platform/eureka-server/src/main/java/com/ganlucode/springcloud/EurekaServerApplication.java new file mode 100644 index 0000000000000000000000000000000000000000..0dd8199c58e864b6c2ee58e66d073d637963733c --- /dev/null +++ b/cloud/platform/eureka-server/src/main/java/com/ganlucode/springcloud/EurekaServerApplication.java @@ -0,0 +1,23 @@ +package com.ganlucode.springcloud; + +import org.springframework.boot.WebApplicationType; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.builder.SpringApplicationBuilder; +import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; +import org.springframework.context.annotation.Bean; +import org.springframework.web.client.RestTemplate; + +/** + * @author GanLu + * @date 2020-04-07 23:44 + */ +@SpringBootApplication +@EnableEurekaServer +public class EurekaServerApplication { + + public static void main(String[] args) { + new SpringApplicationBuilder(EurekaServerApplication.class) + .web(WebApplicationType.SERVLET) + .run(args); + } +} diff --git a/cloud/platform/eureka-server/src/main/resources/application.yml b/cloud/platform/eureka-server/src/main/resources/application.yml new file mode 100644 index 0000000000000000000000000000000000000000..70e33b242de01b7b0a96fc0b1c300235bf8e8b6a --- /dev/null +++ b/cloud/platform/eureka-server/src/main/resources/application.yml @@ -0,0 +1,13 @@ +spring: + application: + name: eureka-server + +server: + port: 20000 + +eureka: + instance: + hostname: localhost + client: + register-with-eureka: false + fetch-registry: false \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..1aa4460479220a515392947fe9a19931636fa3b4 --- /dev/null +++ b/pom.xml @@ -0,0 +1,216 @@ + + + 4.0.0 + + com.ganlucode.demo + spring-demo + pom + 0.0.1-SNAPSHOT + + cloud/platform/eureka-server + cloud/common/cloud-parent + + + org.springframework.boot + spring-boot-starter-parent + 2.1.5.RELEASE + + + + UTF-8 + 8 + 20.0 + 2.1.5.RELEASE + 3.3.1 + 2.4 + 3.2.2 + 1.2.56 + 3.3.1.tmp + 1.1.10 + 2.0.1 + 1.0.0-SNAPSHOT + 1.0.0-SNAPSHOT + 2.9.2 + 2.0.1.Final + 5.2.0 + + 1.5.20 + 1.9.6 + + + + + + org.projectlombok + lombok + + + + + org.springframework.boot + spring-boot-starter-log4j2 + + + com.lmax + disruptor + 3.3.4 + + + + com.fasterxml.jackson.dataformat + jackson-dataformat-yaml + + + + org.apache.logging.log4j + log4j-1.2-api + + + + junit + junit + test + + + + + com.alibaba + fastjson + ${fastjson.version} + + + com.google.guava + guava + ${guava.version} + + + org.apache.commons + commons-lang3 + ${commons-lang3.version} + + + commons-collections + commons-collections + ${commons-collections.version} + + + + io.swagger + swagger-annotations + ${swagger.annotions.version} + + + + + + org.springframework.boot + spring-boot-starter-test + test + + + org.junit.jupiter + junit-jupiter-params + ${junit.jupiter.version} + test + + + + + + + + + + io.springfox + springfox-swagger2 + ${swagger.version} + + + io.springfox + springfox-swagger-ui + ${swagger.version} + + + com.github.xiaoymin + swagger-bootstrap-ui + ${swagger.bootstrap.version} + + + + + commons-io + commons-io + ${commons-io.version} + + + javax.validation + validation-api + ${validation.version} + + + de.codecentric + spring-boot-admin-starter-client + 2.1.5 + + + + + com.baomidou + mybatis-plus-boot-starter + ${mybatis-plus.version} + + + com.baomidou + mybatis-plus-generator + ${mybatis-plus.version} + + + com.baomidou + mybatis-plus-annotation + ${mybatis-plus.version} + + + + com.alibaba + druid-spring-boot-starter + ${druid.version} + + + org.springframework.boot + spring-boot-autoconfigure + + + org.springframework.boot + spring-boot-configuration-processor + + + + + mysql + mysql-connector-java + + 5.1.35 + + + + + + + org.springframework.boot + spring-boot-starter + ${springboot.version} + + + org.springframework.boot + spring-boot-starter-logging + + + + + + + + + \ No newline at end of file