首先创一个父项目,删除src目录(防止后续子项目受到影响)指定打包方式,springboot版本,springclound版本
添加相关依赖
pom org.springframework.boot spring-boot-starter-parent 2.3.12.RELEASE org.springframework.cloud spring-cloud-dependencies Hoxton.SR12 pom import
*创建一个子项目 (注册中心Eureka服务端) 添加相关依赖
org.springframework.cloud spring-cloud-starter-netflix-eureka-server
*创建一个子项目(提供服务的项目providr) 添加相关依赖
cn.kgc hello-sc-2109-common 1.0-SNAPSHOT org.springframework.boot spring-boot-starter-web mysql mysql-connector-java com.baomidou mybatis-plus-boot-starter 3.5.1 org.springframework.boot spring-boot-starter-test com.baomidou mybatis-plus-generator 3.5.2 org.freemarker freemarker
在resouce下面建一个yml添加相关配置
server: port: 9999 spring: datasource: username: root password: 1234 url: jdbc:mysql:///db2109 jackson: date-format: yyyy-MM-dd time-zone: GMT+8 logging: level: cn.kgc: debug
用mybatis-plus自动生成代码
String urrl = "jdbc:mysql:///db2109"; String username = "root"; String password = "1234"; String author = "kgc"; String outputDir = "D:\\java2109\\hello-sc-2109\\hello-sc-2109-provider\\src\\main\\java"; String parent = "cn.kgc"; String moduleName = "emp"; String outputFile = "D:\\java2109\\hello-sc-2109\\hello-sc-2109-provider\\src\\main\\resources\\mapper\\"+moduleName; Listtables = Arrays.asList("emp"); String prefix = ""; FastAutoGenerator.create(urrl, username, password) .globalConfig(builder -> { builder.author(author) // 设置作者 // .enableSwagger() // 开启 swagger 模式 // .fileOverride() // 覆盖已生成文件 .outputDir(outputDir); // 指定输出目录 }) .packageConfig(builder -> { builder.parent(parent) // 设置父包名 .moduleName(moduleName) // 设置父包模块名 .pathInfo(Collections.singletonMap(OutputFile.xml, outputFile)); // 设置mapperXml生成路径 }) .strategyConfig(builder -> { builder.addInclude(tables) // 设置需要生成的表名 .addTablePrefix(prefix); // 设置过滤表前缀 }) .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 .execute();
删除entiity里面的emp,在common项目里面添加emp
在控制层里面用rest风格提供crud接口
*创建一个子项目(消费consmer)客户端
在pow里面添加先关依赖
org.springframework.boot spring-boot-starter-web cn.kgc hello-sc-2109-common 1.0-SNAPSHOT
在resource下面指定端口号
server: port: 8888 logging: level: cn.kgc: debug
在控制器里面注册一个RestTemplate 提供crud接口
例:
@GetMapping("/{id}") public ResultgetEmpById(@PathVariable("id")Integer id){ return restTemplate.getForObject(URL_PREFIX + id, Result.class); }
添加一个子项目(公共类型common)
在pow里面添加相关依赖
y com.baomidou mybatis-plus 3.5.1 org.projectlombok lombok
因直接导入mybatis-plus-starter会带入一些没必要的东西 所以导入mybatis-plus即可
在这里面提供entity 跟common.vo相关公共资源