1.前置知识
- Java17
 - Spring、SpringMVC、MyBatis
 - Maven、IDEA\
 
2. 环境要求
|--------------------|--------------|
| 环境&工具             | 版本(or later) |
| SpringBoot         | 3.0.5+       |
| IDEA               | 2021.2.1+    |
| Java               | 17+          |
| Maven              | 3.5+         |
| Tomcat             | 10.0+        |
| Servlet            | 5.0+         |
| GraalVM Community  | 22.3+        |
| Native Build Tools | 0.9.19+      |
3. SpringBoot是什么
SpringBoot 帮我们简单、快速地创建一个独立的、生产级别的Spring 应用(说明:SpringBoot底层是Spring)
大多数 SpringBoot 应用只需要编写少量配置即可快速整合 Spring 平台以及第三方技术
特性:
- 快速创建独立 Spring 应用
 
- 
- SSM:导包、写配置、启动运行
 
 
- 直接嵌入Tomcat、Jetty or Undertow(无需部署 war 包)【Servlet容器】
 
- 
- linux java tomcat mysql: war 放到 tomcat 的 webapps下
 - jar: java环境; java -jar
 
 
- 重点 :提供可选的starter,简化应用整合
 
- 
- 场景启动器(starter):web、json、邮件、oss(对象存储)、异步、定时任务、缓存...
 - 导包一堆,控制好版本。
 - 为每一种场景准备了一个依赖; web-starter。mybatis-starter
 
 
- **重点:**按需自动配置 Spring 以及 第三方库
 
- 
- 如果这些场景我要使用(生效)。这个场景的所有配置都会自动配置好。
 - 约定大于配置:每个场景都有很多默认配置。
 - 自定义:配置文件中修改几项就可以
 
 
- 提供生产级特性:如 监控指标、健康检查、外部化配置等
 
- 
- 监控指标、健康检查(k8s)、外部化配置
 
 
- 无代码生成、无xml
 
总结:简化开发,简化配置,简化整合,简化部署,简化监控,简化运维。
2、快速体验
1. 创建项目
maven 项目
            
            
              java
              
              
            
          
          <!--    springboot项目必须继承spring-boot-starter-parent -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.0.5</version>
    </parent>
        2. 导入web项目依赖
            
            
              java
              
              
            
          
              <dependencies> 
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>
        3. 程序主入口
            
            
              java
              
              
            
          
          @SpringBootApplication 
public class MainApplication {
    public static void main(String[] args) {
        SpringApplication.run(MainApplication.class,args);
    }
}
        4. 业务
            
            
              java
              
              
            
          
          @RestController("/test")
public class HelloController {
    @GetMapping("/hello")
    public String hello(){
        return "Spring Boot 3!";
    }
}
        5. 测试
默认启动访问: localhost:8080
6. 打包
            
            
              java
              
              
            
          
          <!--    SpringBoot应用打包插件-->
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
        mvn clean package把项目打成可执行的jar包
java -jar demo.jar启动项目