构建springclound项目(详情)

首先创一个父项目,删除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;
List tables = 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 Result getEmpById(@PathVariable("id")Integer id){
    return restTemplate.getForObject(URL_PREFIX + id, Result.class);
}

添加一个子项目(公共类型common)

在pow里面添加相关依赖


    
        com.baomidou
        mybatis-plus
        3.5.1
    
    
        org.projectlombok
        lombok
    
y

因直接导入mybatis-plus-starter会带入一些没必要的东西 所以导入mybatis-plus即可

在这里面提供entity 跟common.vo相关公共资源

你可能感兴趣的:(eureka,java,spring,boot)