Spring 的诞⽣是为了简化 Java 程序的开发的,⽽ Spring Boot 的诞⽣是为了简化Spring 程序开发的。Spring Boot 翻译⼀下就是 Spring 脚⼿架:

SpringBoot,就是让开发更简单了。
可以这么说:SpringBoot 将 Spring 的所有 “痛点 / 缺陷” ,都解决了。什么创建 根目录,xml配置文件,需要引入 spring-context 和 spring-beans 的依赖,Tomcat,部署项目。。。。都改成了内置。
就是不用我们去创建根目录 和 xml 配置文件,SpringBoot 都帮我们配置好了。直接拿着就能用。
我们是用 IDEA 来创建项目的,所以就有社区版和专业版的区别。
在使用的时候,需要先安装一个 Spring Assistant 的插件:

如果没找到的话,用其他插件替换也可以:

然后就可以创建 SpringBoot 项目了:
新建项目,选择 Spring Assistant:

选择源或者配置源:

选择创建类型和 JDK 版本:

然后下一步,就可以选择 SpringBoot 版本和所需依赖了:

然后就可以添加依赖了:

然后一路 Next 就可以完成项目的创建了:

然后点击启动类启动,能输出 JVM 启动时间就说明项目创建成功了:

IDEA 专业版的创建方式和社区版差不多,直接使用 Spring Initializr 就可以创建了:

然后下一步选择相应依赖:

然后 Next,项目就创建好了:

然后启动看到 JVM 启动时间就好了:

项目目录如下:

因为我们是 SpringBoot 项目了,所以 maven 有关的东西就可以删掉:

main 目录下面又有两个目录,java 目录和 resources 目录。

就是单元测试目录,里面和 java 目录的内容是一模一样的。

这个目录是 IDEA 自动生成的,可以把它删掉,然后重新编译运行文件,就又会生成目录了。

这个文件是项目当中最重要的文件,因为 SpringBoot 项目是基于 maven 的,而 pom.xml 又是 maven 的核心文件。

也就是对一个接口进行访问,通过 RequestMapping 来设置路由,要注意的是,路由要全部小写,因为 Windows 是不区分大小写的,Linux 是区分大小写的。因为返回的不是一个静态页面的数据,所有还要加一个 @ResponseBody:
@Controller
public class UserController {
@ResponseBody
@RequestMapping("/sayhi")
public String sayHi() {
return "Hello World";
}
}
然后直接启动项目,通过浏览器访问就好了。因为 SpringBoot 内置了 Tomcat,所有直接访问就好了 http://127.0.0.1:8080/sayhi ,运行结果如下:

在编写上面编写项目代码的时候,其实就涉及到 “约定 大于 配置” 的思想。
在我们创建 Spring Boot 项目的时候,是没有设置配置文件的。因为 Spring Boot 已经给我们创建好了:

Spring Boot 对 bean 有着约定,就是会自动把 启动类 包里面的其他文件,和低目录的包里面的对象,如果这些对象加了五大类注解,那么这些对象就自动存入 Spring Boot 当中。

也就是放在 springbootdemo 目录下的文件,和 springbootdemo 目录下的包,都能注入。如果是上层目录,就不行了。
上面这就是约定大于配置的思想,因为放在其它包里面的话,是不会报错的。
结论: