一、Spring Boot简介
1.概念
Spring Boot 就是 Spring 框架的脚⼿架,它就是为了快速开发 Spring 框架⽽诞⽣的。
2.优点
- 有快速集成框架,可以快速添加外部jar包
- 内置web框架,可以直接运行
- 可以快速部署,不依赖任何外部的web容器
- 抛弃繁琐的XML,使用注解和配置方式进行开发
- 支持更多的监控指标,可以更容易且直观的观察项目的运行情况。
二、Spring Boot项目的创建
idea方式(主流)
-
new project
-
选择spring boot项目,选择合适的jdk版本,设置创建项目源(这里使用默认的)
-
项目参数设置
-
选择spring boot版本,添加项目依赖
-
设置项目名称和保存路径
-
确保idea正常加载springboot项目
删除无用文件共四个
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5aGfco4f-1683639912910)(F:\typora插图\image-20230509151255270.png)]](https://img-blog.csdnimg.cn/8f964546e40e40158bc6fb2c06189bb7.png)
控制台打印启动所用时间且debug未终端,说明spring boot项目已经创建好了。
下边是步骤图示:
注:前提是安装了Spring Boot Helper插件
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5gRBveYa-1683639912912)(F:\typora插图\image-20230509150409949.png)]](https://img-blog.csdnimg.cn/834b2b7bb5014dc5971af06a9139df8f.png)
注意:1. 如果项目加载出错,可能是maven国内源没配置好
网页方式
- 与前边类似,这个是到官网下载压缩包:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EEo5wdQg-1683639912913)(F:\typora插图\image-20230509150930059.png)]](https://img-blog.csdnimg.cn/cd8dfabbe53f4822b45a4d8977c8f72a.png)
-
将文件解压,并用idea打开
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2qng0RYI-1683639912914)(F:\typora插图\image-20230509151039143.png)]](https://img-blog.csdnimg.cn/cd21ddb1b6014f3fa6ef63a49e8ab40d.png)
-
删除无用文件
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eXYAAdgF-1683639912915)(F:\typora插图\image-20230509151058843.png)]](https://img-blog.csdnimg.cn/84133cc3c49742249474455a36a0f9f2.png)
建议:本地保存一个压缩包,做备用。
Spring Boot目录说明
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-V2WWGNJi-1683639912916)(F:\typora插图\image-20230509151710937.png)]](https://img-blog.csdnimg.cn/15a5d615d66a4f9a8aa51cb79d9fc234.png)
另外,static目录用来存放html等静态文件
三、输出Hello World
我们学习 JavaEE(java企业级开发) 就是⽤来实现 Web 项⽬或接⼝的,之前 Spring 其实是⼀个普通 Java 项⽬,没办法直接和浏览器进⾏互动,而添加了spring提供的web相关的依赖,我们就可以和浏览器直接互动了。
所以接下来我们要⽤ Spring Boot 来实现和浏览器及⽤户的交互。
数据准备:
package com.example.demo.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController//组合注解即Rest+Controller
@RequestMapping("/user")//路由注册:大小写敏感需要全部小写
public class UserController {
@RequestMapping("/sayhi")
public String sayHi(){
return "Hi,Spring Boot.";
}
}
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-O3pJ7lYy-1683639912917)(F:\typora插图\image-20230509153310774.png)]](https://img-blog.csdnimg.cn/0519deb4f55e4ce58ad2dc6bd5473f5b.png)
之后重新启动:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eKvibq8m-1683639912918)(F:\typora插图\image-20230509153252644.png)]](https://img-blog.csdnimg.cn/aad85f36dad94a07a9de88be901451ec.png)
访问 http://localhost:8080/user/sayhi :
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uoZH3VOG-1683639912919)(F:\typora插图\image-20230509153104848.png)]](https://img-blog.csdnimg.cn/ca33dd795cc54bf9b31e6f76f5dcefb3.png)
SpringBoot项目特点:约定大于配置
创建完SpringBoot项目我们可以发现,在 Spring Boot 中是不需要配置 Bean 的扫描路径的。原因就是SpringBoot项目具有约定大于配置的特点。
这里的约定指的是Maven的目录结构、spring boot默认的配置文件、application.yml中默认属性等。
默认约定下,容器类和启动类都在同级目录下,spring boot默认情况下会自动扫描容器类,当实际内容与默认约定不匹配时,我们一般把对象单独注册到容器中。
SpringBoot的默认约定有:
1、Maven的目录结构。默认有resources文件夹,存放资源配置文件。src-main-resources,src-main-java。默认的编译生成的类都在targe文件夹下面。
2、spring boot默认的配置文件必须是,也只能是application.命名的yml文件或者properties文件,且唯一。
3、application.yml中默认属性。数据库连接信息必须是以spring: datasource: 为前缀;多环境配置。该属性可以根据运行环境自动读取不同的配置文件;端口号、请求路径等。
4、SpringBoot 约定,当你导入 spring-boot-starter-web 后,就约定了你是一个 web 开发环境。就约定了你会使用 SpringMVC。至于其它的也约定你会需要,都给你默认导入进来。当你觉得不合适的时候,可以用更少的改动,满足你的需要。
5、当我们导入spring-boot-starter-web后,就会自动帮我们导入springMVC的相关依赖和一个内置的tomcat容器,以及spring-boot-starter-logging依赖。这使得在开发阶段可以直接通过 main 方法或是 JAR 包独立运行一个 WEB 项目。
6、SpringBoot 约定以 starter 的形式减少依赖,于是相继推出了不少常用的 starter。
logging依赖。这使得在开发阶段可以直接通过 main 方法或是 JAR 包独立运行一个 WEB 项目。
6、SpringBoot 约定以 starter 的形式减少依赖,于是相继推出了不少常用的 starter。
当实际开中某个东西不满足SpringBoot的默认约定是,需要单独配置和具体指明才行。


















![[golang gin框架] 28.Gin 发送短信,DES加密解,Cookie加密,解密操作](https://img-blog.csdnimg.cn/img_convert/2e34f90d3aa11540c107bee023f2bb2a.png)
