第一章、 springBoot项目创建
在线视频地址:https://www.bilibili.com/video/BV1424y127uV/
在线视频地址:https://www.bilibili.com/video/BV1424y127uV/
基于springBoot,mybatis,mybatis-puls,vue3,antdesign,redis,shiro,jwt,redis等主流技术实现。
采用了RestFul风格的架构,使请求路径变得更加简洁,传递、获取参数值更加方便。中国及世界疫情确诊分布地图对接各大厂商数据接口,使用redis进行数据缓存,用户与角色之间的多对多实体关系,角色与菜单之间的多对多关系设计,shiro进行权限控制,jwt进行token生成。
1. 项目创建
-
第一种方式
在 https://start.spring.io/创建
Pneumonia epidemic situation management system in Xinguan
-
在idea创建,但是每个人的版本可能不一样,这里以我的2022的版本创建
点击next
2. 项目的配置
- 搜素encode->fileEncodings 进入到这个文件改编码为utf8
- projectstructure 修改jdk配置为1.8
- 配置git
3. 启动日志优化
-
logback日志样式修改(logback-spring.xml)
<?xml version="1.0" encoding="UTF-8"?> <configuration> <!-- 修改一下路径--> <property name="PATH" value="./log"></property> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <!-- <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %highlight(%-5level) %blue(%-50logger{50}:%-4line) %thread %green(%-18X{LOG_ID}) %msg%n</Pattern>--> <Pattern>%d{ss.SSS} %highlight(%-5level) %blue(%-30logger{30}:%-4line) %thread %green(%-18X{LOG_ID}) %msg%n</Pattern> </encoder> </appender> <appender name="TRACE_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${PATH}/trace.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <FileNamePattern>${PATH}/trace.%d{yyyy-MM-dd}.%i.log</FileNamePattern> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>10MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> <layout> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %-50logger{50}:%-4line %green(%-18X{LOG_ID}) %msg%n</pattern> </layout> </appender> <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${PATH}/error.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <FileNamePattern>${PATH}/error.%d{yyyy-MM-dd}.%i.log</FileNamePattern> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>10MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> <layout> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %-50logger{50}:%-4line %green(%-18X{LOG_ID}) %msg%n</pattern> </layout> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>ERROR</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <root level="ERROR"> <appender-ref ref="ERROR_FILE" /> </root> <root level="TRACE"> <appender-ref ref="TRACE_FILE" /> </root> <root level="INFO"> <appender-ref ref="STDOUT" /> </root> </configuration>
-
增加启动成功日志
修改启动类:XinguanpmApplication
private static final Logger LOG = LoggerFactory.getLogger(XinguanpmApplication.class); public static void main(String[] args) { SpringApplication app = new SpringApplication(XinguanpmApplication.class); Environment env = app.run(args).getEnvironment(); LOG.info("启动成功!!"); LOG.info("地址: \thttp://127.0.0.1:{}", env.getProperty("server.port")); }
在Git提交时候排除log
测试测试
-
修改启动图案
在resources文件夹下面创建文件: banner.txt 把下面的网站生成的文本放入到banner.txt就 ok了
这里有几个定制banner的网站,文字、图片都可以秀起来,怎么秀就看你的骚操作了
http://patorjk.com/software/taag
http://www.network-science.de/ascii/
http://www.degraeve.com/img2txt.php
4. 开发Helloword接口
-
@RestController与@Controller区别
简单的可以理解为,@RestController是返回一个字符串,@Controller返回的是一个页面。
-
RESTFUL是什么
是一种网络应用程序的设计风格和开发方式,基于HTTP,动作类型为新增、变更、删除所调用资源
-
常见的http请求协议
// @PostMapping
// @PutMapping
// @DeleteMapping
// @RequestMapping(value = “/user/1”, method = RequestMethod.GET)
// @RequestMapping(value = “/user/1”, method = RequestMethod.DELETE)
4. 开发Hellowrd接口实现
```java
@GetMapping("/hello")
public String hello() {
return "Hello World!" + testHello;
}
```
5. 热部署的配置
1. pom.xml添加依赖
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
```
2. 修改setting配置(这里是静态的热部署)
搜索Compi 回车就出来了
3. 修改registry表
连续按两下shirt,搜索registry,如下图,注意别选错了
上图这个是动态热部署3s部署一次。
测试测试
- 待续待续