一. SpringBoot 为什么出现?
一.一 传统 Spring的开发的缺点
Spring 是一栈式开发框架,简化了JavaEE的开发。 但是随着业务更加复杂,导致配置文件越来越多,越来越复杂,脱离了Spring最开始出现的初心。
主要有两个缺点:
1.大量的配置文件,难以维护。
2.与第三方框架整合时较复杂。
所以,SpringBoot 就在 Spring的基础上应用而生了。
一.二 SpringBoot的出现
SpringBoot是在Spring的基础上进行扩充的,采用 Java Bean的方式进行配置文件,与第三方框架整合时,也非常容易。
一.二.一 使编码变得简单
采用注解方式,进行配置,简化了很多编码。
一.二.二 使配置变得简单
自动配置,快速集成第三方框架
一.二.三 使部署变得简单
内置Tomcat服务器,可添加Jetty 等容器。
一.二.四 使监控变得简单
自带项目监控。
二. SpringBoot框架的入门
老蝴蝶采用的是 JDK 1.8, Maven 3.6, Idea 工具。
创建项目时,可以通过 网址方式创建,也可以通过 maven 方式创建。
二.一 Idea 通过官方网址创建SpringBoot 项目
二.一.一 创建 HelloWorld 项目
打开 Idea, File —>new —>Project
选中 Spring Initializr 选项, SDK 选择1.8 方式。
Type 选择 Maven 类型, Java version 选择 8 版本。
依赖目前只选择一个 Spring Web 依赖。 SpringBoot 版本号选择 2.4.4 版本。(老蝴蝶为了记念前公司大方,均采用前公司版本号,2.2.2. 后不做声明)
填入项目名称和存储的位置,点击 Finish 即可。
点击完成之后,会通过Maven 进行下载相应的依赖 jar包。
二.一.二 创建Hello World 项目结构
二.一.二.一 目录结构
- LearnApplication 是 SpringBoot 的启动类.
- resources 下面的 static 会放置静态的资源。
- resoruces 下面的 templates 会放置模板.
- application.properties 会放置配置文件。
- test下面的 LearnApplicationTests 是测试启动类。
- pom.xml 会放置一些依赖。
二.一.二.二 自动生成文件
- pom.xml 文件
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <!--//1--> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.4.4</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>org.yueshushu</groupId> <artifactId>learn</artifactId> <version>0.0.1-SNAPSHOT</version> <name>learn</name> <description>两个蝴蝶飞学习SpringBoot入门程序</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <!--//2 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--//3 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <!--//4 --> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
- 引入了一个父工程,是 spring-boot-starter-parent , 这个名称一定要记住。
- 引入了一个 spring-boot-starter-web 的依赖。
- 引入了一个 spring-boot-starter-test 的测试。
- 添加了打包插件
2 . LearnApplication
注意图标
package org.yueshushu.learn; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; //1. @SpringBootApplication public class LearnApplication { public static void main(String[] args) { //2 SpringApplication.run(LearnApplication.class, args); } }
- 添加 SpringBootApplication注解,表示这是一个SpringBoot 项目
- SpringApplication 通过main() 方法启动项目。
3 . test包下的 LearnApplicationTests
package org.yueshushu.learn; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; //1 @SpringBootTest class LearnApplicationTests { @Test void contextLoads() { } }
- 添加 SpringBootTest 测试注解,表示这是一个SpringBoot的测试类。
4 static,templates,application.properties 文件下,均没有内容。
注意 application.properties 文件前面的图标。