# ojs-springboot2 **Repository Path**: old_java_sticks/ojs-springboot2 ## Basic Information - **Project Name**: ojs-springboot2 - **Description**: 单体项目快速搭建,结合ojs-code-generator一起使用可快速完成开发任务 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2019-08-30 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 描述 ## 项目架构信息: * jdk 1.8 * spring-boot 2.1.8 ## 模块说明 ``` component :组件 annotation :自定义注解 aspect :切面 config :配置 enums :枚举 exception :自定义异常 result :返回结果 utils :工具类 config :配置 controller :控制器 mapper :数据层 model :数据模型 dto :数据转换 po :对应数据库表 vo :对应视图层 service :业务层 AppStarter :启动类 ``` ## 软件风格 - REST-ful REST-ful 是目前最流行的 API 设计规范,用于 Web 数据接口的设计。 * GET:读取(Read) * POST:新建(Create) * PUT:更新(Update) * PATCH:更新(Update),通常是部分更新 * DELETE:删除(Delete) ## 数据库连接池 - druid (暂时) * Druid是Java语言中最好的数据库连接池。Druid能够提供强大的监控和扩展功能。 * 本项目使用监控地址:http://localhost:8080/druid/login.html * 账号:admin 密码:admin * 官方wiki:https://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98 ## 数据库连接池 - HikariCP (推荐) ## mybatis * MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。 * 官方wiki:http://www.mybatis.org/mybatis-3/index.html * 动态 SQL @Select @Insert @Update @Delete ## 通用mapper * 通用mapper 提供了常规的增删改查操作以及 Example 相关的单表操作。 * https://gitee.com/free/Mapper/wikis/Home ## 日志 * @Slf4j : 建议使用方式(lombok) ## Maven ```` mvn clean : 清理 mvn clean compile : 编译 mvn clean package -DskipTests : 打包(排除测试) mvn clean install -DskipTests : 部署到本地(排除测试) mvn clean deploy -DskipTests : 部署到私服(排除测试) ```` ## Swagger * Swagger Editor 在线编辑器 官方: http://editor2.swagger.io/ * swagger 在线接口地址: http://{IP}:{port}/swagger-ui.html ## Redis ## 事务 * 在Service层方法上增加注解即可支持事务 * 常用 ```` @Transactional(rollbackFor=Exception.class) @Transactional(notRollbackFor=RunTimeException.class) ```` ### 全局异常捕获 * 所有异常请勿手动捕获,除非 Checked Exception * 自定义业务异常需继承 BusinessException 我会统一捕获 ## 其他 * 容器启动命令 java -Dfile.encoding=utf-8 -Duser.timezone=Asia/Shanghai -jar *.jar --server.port=8080 --spring.profiles.active=dev * 宿主机启动命令 nohup java -jar *.jar > /dev/null & * 查看端口占用情况 netstat -tunlp | grep :8080 ## 代码规范 ```` # 类注释 /** * @description * @author ojs * @dateTime $date$ $time$ * @version 1.0.0 **/ ## 定义 $date$ $time$ 使用默认 # 方法注释 /** * @description: $params$ * @return: $return$ * @author: ojs * @dateTime $date$ $time$ */ ## 定义$params$ groovyScript("def result=''; def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); for(i = 0; i < params.size(); i++) {result+=' * @param ' + params[i] + ((i < params.size() - 1) ? '\\n' : '')}; return result", methodParameters()) ## 定义$return$ methodReturnType() ```` ## 作者信息 * 作者:ojs * 邮箱:913376662@qq.com * https://gitee.com/old_java_sticks/ojs-springboot2