# base-mynah **Repository Path**: mynah/foundation_test_engineering ## Basic Information - **Project Name**: base-mynah - **Description**: 开源的组件搭建的 springBoot 工程,收集自己的测试代码和工具类。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: develop - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-07-01 - **Last Updated**: 2025-06-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 场景微服务工程, 这个是自己测试和技术练习点的技术测试学习工程。 ## 工程结构介绍 ### 一、java包路径说明 所有微服务顶层包路径均必须为com.base.branch.cloud,本服务定义一个模块名. 后续所有的dao,component均基于此模块名 > **com.base.branch.cloud.{xxx} 基础包目录** ``` java @Component //一定注意增加此注解 public class XXXX { public Object test(Object javabean) {//新编码要求传递javabean,不建议使用map log.error("input:{}", javabean); Object resp = new JavaBean();   //一般不要将输入传递给输出 resp.set("keyx","xxx"); return resp; } } ``` 3. configuration spring-boot configuration 配置包 4. dao 数据库 ``` entity 数据库表模型包 mapper mybatis plus mapper接口 repository mybatis plus serviceImpl类,作为Dao层看待 ``` 5. tool 工具类 6. XXXXApplication.java spring-boot工程启动类 ### 二、resources配置文件说明 > **(config) spring-boot 配置文件夹** 1. bootstrap.yml: 先于application.yml 加载,作为平台技术类参数,项目组不能修改 2. application.yml: 先于application-active.properties加载,项目定义的公共配置参数,自行修改。要求重新定义以下属性值: ```yaml server: port: 9000 spring: application: name: branch-cloud-example ``` 3. 环境配置文件: - application-dev.properties 开发环境 - application-fat.properties fat环境使用参数 - application-sit.properties sit环境使用参数 - application-uat.properties uat环境参数 - application-prd.properties 生产环境参数 环境配置方式:本机操作系统环境变量 SPRING_PROFILES_ACTIVE=dev > **(mapper) mybatis mapper.xml文件 ** > **(banner.txt) spring-boot启动logo ** ### 三、test 测试文件说明 1. java 测试类包路径 - Generateor.java mybatis plus生成器,已经按照工程约定的目录生成响应类(仅生成dao层) 2. resources 测试资源包路径 ### 四、设计规范 1. 服务流程设计 > 入参和出参 需按照接口文档配置服务流程的入参和出参 2. Dao层使用mybaits的mapper+serviceImpl组合使用 > dao层一般一次编写,后续很少改动 基于mybatis plus的能力,形成的mapper和serviceImpl(Dao)默认已经足够使用,日常不应该存在对dao层大量修改 除非多表关联查询,则定义新的独立mapper+xml文件进行处理。 > 使用生成器生成dao层代码 生成的实体javabean对象,注意根据设计修改主键注解 @TableId > repository/dao类 此类作为Dao类供上层组件调用,一般不做任何修改;如果涉及共性处理,将在此类中进行处理。例如缓存处理。 > 组件中使用lambda语法进行条件处理 因在实体javabean对象中注解定义了列名,因此采用QueryWrapper、UpdateWrapper的lambda方法进行条件处理。 在lambda语法中直接使用实体Javabean的字段,可避免使用原生用法中需要手工编写数据库字段名问题, 造成的数据库字段名修改,需要大面积修改代码的问题 ## 升级记录 > [2020-04-16] - 优化启动脚本 ``` USER_VMARGS 参数优化 export PATH 内容优化防止未加载到指定JDK 增加while等待应用启动,仅等待120s ``` - 优化logback-spring.xml ``` 增加errorlog append日志 增加siftLog append日志 增加dev环境适配本地开发所需 ``` > [2019-12-15] 初始建立