SpringBoot实战项目精华总结(一)
项目设计思路(步骤)
开发环境搭建、日志
git常用命令
学习方法
可以参考的工程目录
一、项目设计思路(步骤)
1.分析功能:不同的角色都哪些功能以及特色的应用场景
2.技术分析:不同的功能涉及的技术选型
3.设计步骤:
角色划分 -> 关系图 -> 功能模块划分 -> 数据库表设计 -> 技术框架设计 -> 部署架构
二、开发环境搭建、日志
1.开发环境 - IDEA、redis\mysql用docker镜像生成
数据库评论字段设计为 utf8m64可以存emoj表情
+IDEA快捷键总结:
Ctrl+shift+r 工作空间搜索
鼠标点击左侧类文件,再shift+F6 重命名类名快捷键
鼠标点击左侧类包,再alt+insert 新建类快捷键
Ctrl+shift+T 添加单元测试
Ctrl+shift+U 全大写快捷键
Alt+shift+↑ 向上移动代码
Ctrl+Alt+B 查看实现类
Ctrl+shift+R 工作空间中搜索关键字
2.日志:推荐使用log4j2日志(链接)。下面是logback.xml的配置
resources/logback-spring.xml配置:
<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>
%d - %msg%n
</pattern>
</layout>
</appender>
<appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>/jupiterx/sell/logs/sell.info.log</file>
<encoder>
<pattern>
%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}} - %msg%n
</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>DENY</onMatch>
<onMismatch>ACCEPT</onMismatch>
</filter>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>/jupiterx/sell/logs/sell.info.%d.log.%i.zip</fileNamePattern>
<!-- 如果按天来回滚,则最大保存时间为365天,365天之前的都将被清理掉 -->
<maxHistory>1</maxHistory>
<!-- 日志总保存量为10GB -->
<totalSizeCap>1GB</totalSizeCap>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<!--文件达到 最大128MB时会被压缩和切割 -->
<maxFileSize>2KB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
</appender>
<appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>/jupiterx/sell/logs/sell.error.log</file>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
</filter>
<encoder>
<pattern>%d - %msg%n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>/jupiterx/sell/logs/sell.error.%d.log.%i.zip</fileNamePattern>
<!-- 如果按天来回滚,则最大保存时间为365天,365天之前的都将被清理掉 -->
<maxHistory>1</maxHistory>
<!-- 日志总保存量为10GB -->
<totalSizeCap>1GB</totalSizeCap>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<!--文件达到 最大128MB时会被压缩和切割 -->
<maxFileSize>2KB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
</appender>
<root level="info">
<appender-ref ref="consoleLog"/>
<appender-ref ref="fileInfoLog"/>
<appender-ref ref="fileErrorLog"/>
</root>
</configuration>
三、git常用命令(待补充)
git clone https://...
git check out -b 5-1(本地分支名称) 5-1(远端分支名称)
git check out 6-1(切换分支)
四、学习方法
1.记录好的代码片段
2.先确认开发环境,开发目标、分析清楚业务
3.先写好注释代码,想好逻辑再写代码
五、可以参考的工程目录
com.xxx.project
- aspect 切面
- config 配置
- constant 常量
- controller 接收请求类
- converter 转换类
- po 实体类
- dto 传输对象
- enums 枚举类
- exception 异常处理类
- form 表单自动映射+验证类
- handler 处理类
- repository 数据库持久化操作接口
- service 业务逻辑处理接口
- utils 工具类
- VO 返回给前端的Json对象类
ApplicationMain.class