一、springboot的快速入门
- springboot的作用:用来简化Spring应用的初始搭建以及开发过程
一、idea创建springboot工程——运行的步骤
-
选择Spring Initializr进行创建(现在基本上没有jdk1.8选了,都是jdk17了,需要的话,可以先选jdk17初始化然后再手动修改回jdk1.8)
-
选择该springboot工程需要的依赖(也可以后面再在maven的pom.xml文件中添加依赖)
-
点击create创建工程后,然后可以先写一个控制器类(controller)
//Rest模式
@RestController
@RequestMapping("/hello")
public class HelloController {
@GetMapping
public String getById(){
System.out.println("springboot is running...");
return "springboot is running...";
}
}
- 运行自动生成的Application类
- 然后访问(默认的端口是8080):http://localhost:8080/hello
- 可以访问成功就说明创建的springboot工程没有问题
一、1、 springboot工程的创建方式
- 上面的创建步骤是(idea基于SpringBoot官网创建项目,地址:https://start.spring.io/)
- 可以修改网址,基于不同的官网进行创建项目,比如阿里云的:(基于阿里云创建项目,地址:https://start.aliyun.com)
- 也可以直接在spring官网下创建springboot项目:(这方法会下载一个压缩包给你)
- 也可以直接创建一个maven工程然后再把它改造成一个springboot工程
-
- 手工创建一个maven项目(然后手工导入springboot需要的坐标)
- 手工创建一个maven项目(然后手工导入springboot需要的坐标)
-
- 手工创建项目(手工制作引导类)
- 手工创建项目(手工制作引导类)
-
一、2、 idea隐藏指定文件
- Idea中隐藏指定文件或指定类型文件(就是我们一般打开一个项目会有很多的
- Setting → File Types → Ignored Files and Folders
- 输入要隐藏的文件名,支持*号通配符
- 回车确认添加
一、3、 springboot相对于spring的优点
- SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程。
- Spring程序缺点
- 依赖设置繁琐
- 配置繁琐
- SpringBoot程序优点
- 起步依赖(简化依赖配置)
- 自动配置(简化常用工程相关配置)
- 辅助功能(内置服务器,……)
- 四个方面:
-
- parent
-
- starter
-
- 引导类
-
- 辅助功能(内嵌tomcat:只是辅助功能的其中之一)
-
一、3.1、 springboot相对于spring的优点-parent(parent只是定义,并未使用)
-
结论:
-
- 开发SpringBoot程序要继承spring-boot-starter-parent
-
- spring-boot-starter-parent中定义了若干个依赖管理
-
- 继承parent模块可以避免多个依赖使用相同技术时出现依赖版本冲突
-
- 继承parent的形式也可以采用引入依赖的形式实现效果
-
-
使用:我们直接使用对应的依赖就行,无需写版本(底层会为你自动调用版本了)。依赖的版本会根据你使用的springboot版本的不同而不同。
- 在spring-boot-dependencies里面:
-
- 定义一系列的常用坐标版本
-
- 定义一系列的常用坐标组合
-
- 直接使用组合(底层实现的)
-
- 在spring-boot-dependencies里面:
只需写成下图这样即可:
一、3.1.1、 springboot相对于spring的优点-parent与starter
-
starter
-
- 是一个坐标中定了若干个坐标,定义了当前项目使用的所有依赖坐标,以达到减少依赖配置的目的
-
-
parent
- 所有SpringBoot项目要继承的项目,定义了若干个坐标版本号(依赖管理dependencyManagement,而非依赖),以达到减少依赖冲突的目的
- spring-boot-starter-parent各版本间存在着诸多坐标版本不同
-
实际开发
- 如果有对应的starter,使用任意坐标时,仅书写GAV(G:groupId,A:atifactId,V:version)中的G和A,V由SpringBoot提供,除非SpringBoot未提供对应版本V
- 如发生坐标错误,再指定Version(要小心版本冲突)
- 如果没有对应的starter&#x