前提:有SSM,数据库,前端基础,使用企业版IDEA
用书:SpringBoot+Vue全栈开发实战(关注+私信发电子版)
说明:代码块中是每章知识点总结(几十页浓缩成几句话)
1.开发第一个SpringBoot程序
- 创建Maven
- 构建项目:添加依赖->启动类:入口类,控制器
- 启动
图示:
1.创建springboot项目
2.配置Maven:见ERROR2
3.application.properties变application.yml
4.创建text/index
@Controller+@RestMapping=@RestController:表明是Rest控制器,启动后 return 的内容自动封装成JSON数据格式
5.启动
报错:
ERROR1:Read timed out错误
1.检查网络连接
2.验证链接的合法性:Java 23 可能尚未正式发布或不被 Spring Initializr 支持。你可以尝试将 javaVersion
修改为一个已知的版本,如 17
或 21
。
ERROR1解决: 变为21
ERROR2:IDEA右侧无Maven
ERROR2解决:pom.xml右击,再点Add........,添加Maven(添加时长在5分钟以上,耐心等...)
IDEA右侧出现Maven后,点击Maven Settings,配置Maven
ERROR3:项目配置的java版本与JDK版本不适配
ERROR3解决:在settings,project structure,pom.xml中
<properties> <java.version>17</java.version> </properties>
三个地方调,将java版本变为17,ERROR1中改为21在这还报错的原因是:最高到18,所以统一变成17
2.基础配置(涉及HTTP,HTTPS,I/O,Rest控制器)
- 当大家用的各种配置版本不同,要进行版本统一时,不再用spring-boot-starter-parent,用dependencyManagement,该配置的自己配上
- @Spring BootApplication等于@Configuration+@EnableAutoConfiguration+@ComponentScan
- (可以不学)banner设计
- Web容器配置:1.Tomcat(将HTTP请求重定向为HTTPS请求的多个理由:Spring Boot不支持同时在配置中启动HTTP,HTTPS;用户习惯输入http://;为了保护隐私:https通过证书验证身份,而浏览器会验证证书是否时可靠机构颁发的)2.Jetty:相比Tomcat,Jetty在处理I/O时更有优势,因为Jetty是非阻塞的(I/O请求:通过HTTP发送请求,服务器端回应请求,比如get,post )3.Undertow
- Properties配置:顺序优先级:
- YAML配置:可以替代Properties配置 特点:缩进 大小写敏感
- 类型安全配置属性:YAML配置,Properties配置都会加载到Spring Environment中 注意:需对中文进行转码 1.@ConfigurationProperties(prefix=""):要加载的配置文件的前缀2.Rest控制器:接收HTTP请求,作出反应:@RestController:表明是个控制器;@Autowired Book book:将Book这个Bean注入并赋值给book;@RestMapping:GetMapping,PostMapping等
3.视图
- Thymeleaf
- FreeMarker
- 添加依赖->配置->类+控制类->.html/.ftl