一、Spring Boot
学习网站
Spring
Spring框架,它的主要功能包括IOC容器、AOP支持、事务支持、MVC开发以及强大的第三方集成功能等。
Spring Boot
Spring Boot是一个基于Spring的套件,它帮我们预组装了Spring的一系列组件,以便以尽可能少的代码和配置来开发基于Spring的Java应用程序。
两者异同
以汽车为例,如果我们想组装一辆汽车,我们需要发动机、传动、轮胎、底盘、外壳、座椅、内饰等各种部件,然后把它们装配起来。
Spring就相当于提供了一系列这样的部件,但是要装好汽车上路,还需要我们自己动手。
Spring Boot则相当于已经帮我们预装好了一辆可以上路的汽车,如果有特殊的要求,例如把发动机从普通款换成涡轮增压款,可以通过修改配置或编写少量代码完成。
因此,Spring Boot和Spring的关系就是整车和零部件的关系,它们不是取代关系,试图跳过Spring直接学习Spring Boot是不可能的。
Spring Boot的目标就是提供一个开箱即用的应用程序架构,我们基于Spring Boot的预置结构继续开发,省时省力。
参考来源:廖雪峰教程
二、构建方式
我测试了以下两种方式进行创建;
1、官网构建
2、IDEA构建
idea构建和官网构建基本相同,个别细节需要注意;
接下来和在线构建就一样啦
注意Type的选择
注意项目位置,由于我重新定义了项目名,此处要创建一个项目文件夹
三、初始化项目
1、项目结构
2、pom.xml报错
Project 'org.springframework.boot:spring-boot-starter-parent:3.2.4' not found
报错原因:初始化项目采用的是idea原有的Mave库配置,由于原先项目没有使用该版本的spring boot,所以找不到。
四、Maven配置
- 为了保证学习项目与其他项目互不影响,我单独创建了Maven本地库;
- 注意,Maven和IDEA版本匹配问题;我本地的IDEA版本2020.3,版本比较老,如果配置最新版的Maven3.9.6,会有报错。
- 个人不喜欢IDEA集成的Maven,所以单独下载了Maven;
五、Java17配置
1、启动报错
参考:blog.csdn.net/dfghjkkjjj/…
这次报错是因为SpringBoot和Java的版本不匹配造成的;
解决办法:将spring boot 版本和jdk统一,例如 spring boot3.0与jdk17a 或 spring boot 2.7.1和jdk8(只要不是3.0都可以)
2、下载Java17
下载位置 www.oracle.com/java/techno…
配置本地的java17
启动成功;
六、测试接口
1、创建包controller
2、创建类BookController
3、添加方法hello
package com.one.pojian.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/book")
public class BookController {
@RequestMapping("/hello")
public String hello() {
return "Hello World - Book Class";
}
}
4、发起请求
浏览器发起请求
七、修改配置文件为yml
直接删除掉application.properties,添加application.yml 添加设置端口的配置
server:
port: 1304