# quick-start **Repository Path**: CodeLegendary/quick-start ## Basic Information - **Project Name**: quick-start - **Description**: Springboot quick start - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-06-16 - **Last Updated**: 2023-06-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 版本介绍 | Environment | Version | | ---- | ---- | | Springboot | 2.2.6 RELEASE | | Java | 1.8.0_333 | | Maven | 3.5.4 | | Mysql | 8.0.18 | | Mybatis-plus | 3.0.7.1 | | Swagger2 | 2.9.2 | | Nacos | 1.1.4 | | OpenFeign | 2.2.6 RELEASE | ### 框架结构 ``` --quick-start --extra --v1.0.1.0 版本号 --config 配置文件 --ddl 数据库定义 --dml 数据库操作 --es es相关操作 --redis redis相关操作 --goduck-app-api 对外提供接口能力模块 --goduck-app-client 管理端后台 --goduck-app-common 公共模块(工具类等) --goduck-app-core 业务核心模块 --src.main.java.com.goduck.core --user 领域名称 --dto 数据传输对象 --convertor 转换器(性能场景需要转换器时需要创建该包) --enums 枚举(XXEnum) --xxDTO 领域DTO对象 --entity 实体对象(与数据一一映射,通过easycode自动生成) --client 外部接口统一包装(如feign,可以跨领域调用) --impl 接口实现 --manager 领域间互相调用的出口 --mapper easycode自动生成 持久层名规则:SELECT,QUERY,UPDATE,DELETE,CREATE,SAVE, --service 领域内接口定义(仅在本领域内调用) --impl 接口实现 --goduck-app-mobile app后台 --src.main.java.com.goduck.core --user 领域名称 --controller 控制器 --request 请求参数实体(XXRequest) ``` ### 工具介绍 #### Javabean 转换 建议全部使用Mapstruct转换 #### 普通场景 使用Modelmapper转换 http://modelmapper.org/ ```$xslt @Autowired private CommonConverter commonConverter; //单个转换 commonConverter.convert(request, ProducerReqDto.class) //批量转换 commonConverter.convertList(tests, TestResultDto.class) ``` #### 性能场景 使用Mapstruct转换 https://mapstruct.org/ ```$xslt //定义 @Mapper public interface TestConverter { public static final TestConverter TEST_MAPPER = Mappers.getMapper(TestConverter.class); TestResultDto convert(Test test); List convertList(List list); } //调用 TestConverter.TEST_MAPPER.convertList(tests) ``` ### 模块引入 #### Swagger2 ```` com.goduck goduck-app-swagger 1.0.1-SNAPSHOT 访问地址:127.0.0.1:8080/doc.html ```` #### Nacos ```` com.goduck goduck-app-nacos 1.0.1-SNAPSHOT 1.复制Jar中 resources\META-INF\application-duplicate.yml 2.粘贴到项目 resources 3.名称修改为 application-nacos ```` #### OpenFeign ```` //依赖 com.goduck goduck-app-openFeign 1.0.1-SNAPSHOT //服务提供依赖 com.goduck goduck-app-client 1.0.1-SNAPSHOT //注入 @Resource TestFeignClient testFeignClient; //调用 testFeignClient.test(producerRequest); //降级 @Component public class TestFeignHystrixFallBack implements TestFeignClient { @Override public Result test(ProducerRequest request) { System.out.println("test"); return null; } } ````