Spring Boot入门

1、Spring Boot是什么

Spring Boot 帮我们简单、快速地创建一个独立的、生产级别的Spring 应用(说明:Spring Boot底层是Spring)

大多数 Spring Boot 应用只需要编写少量配置即可快速整合 Spring 平台以及第三方技术

特性:

  1. 快速启动:Spring Boot 通过提供一系列的"starter"依赖来简化项目的搭建。这些 starter 依赖预先配置了常用的库和功能,使得开发者可以非常快速地开始项目开发。

  2. 自动配置:根据类路径中的 jar 包,Spring Boot 会自动配置 Spring 应用程序。例如,如果 HSQLDB 在类路径上,并且没有配置任何数据库连接信息,那么 Spring Boot 会自动配置内存数据库。

  3. 独立运行:Spring Boot 应用程序可以打包成可执行的 JAR 文件,里面包含了所有必要的依赖(包括服务器,如 Tomcat 或 Jetty),可以直接运行。

  4. 内嵌容器:Spring Boot 支持内嵌的 Servlet 容器,如 Tomcat, Jetty 和 Undertow,因此不再需要将应用部署到外部的 Web 服务器。

  5. 简化 Maven/Gradle 配置:Spring Boot 提供了推荐的基础 POM 文件或 Gradle 构建脚本,帮助简化构建工具的配置。

  6. 生产就绪特性:Spring Boot 提供了许多非功能性特征,如健康检查、度量指标收集、外部化配置等,这些都是在生产环境中非常有用的功能。

  7. 无 XML 配置:Spring Boot 强调使用 Java 配置而不是传统的 XML 配置文件,这通常意味着更少的配置和更容易维护的代码。

  8. 微服务支持:Spring Boot 与 Spring Cloud 结合使用时,可以轻松地构建微服务架构。Spring Cloud 提供了一系列用于构建分布式系统的工具,而 Spring Boot 则是这些工具的基础。

  • 重点 :提供可选的starter,简化应用整合
    • 场景启动器(starter):web、json、邮件、oss(对象存储)、异步、定时任务、缓存...
    • 导包一堆,控制好版本。
    • 为每一种场景准备了一个依赖; web-starter。mybatis-starter
  • **重点:**按需自动配置 Spring 以及 第三方库
    • 如果这些场景我要使用(生效)。这个场景的所有配置都会自动配置好。
    • 约定大于配置:每个场景都有很多默认配置。
    • 自定义:配置文件中修改几项就可以

总结:简化开发,简化配置,简化整合,简化部署,简化监控,简化运维。

2、开发流程

1. 创建项目

创建maven 项目,在pom文件中加入此依赖

XML 复制代码
<!--    所有springboot项目都必须继承自 spring-boot-starter-parent -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>${version}</version>
    </parent>

2. 导入场景

场景启动器

XML 复制代码
    <dependencies>
<!--        web开发的场景启动器 此处无需写入版本号,会自动导入-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

3. 主程序

java 复制代码
@SpringBootApplication //这是一个SpringBoot应用
public class MainApplication {

    public static void main(String[] args) {
        SpringApplication.run(MainApplication.class,args);
    }
}

4. 业务

java 复制代码
@RestController
public class HelloController {

    @GetMapping("/hello")
    public String hello(){

        return "Hello,Spring Boot 3!";
    }

}

5. 测试

默认启动访问: localhost:8080

6. 打包

XML 复制代码
<!--    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启动项目

快速创建:

这样就快速创建了一个SpringBoot项目。

相关推荐
Pniubi1 小时前
HashMap的扩容和树化边界
java·开发语言
Mikko72 小时前
用 Java 复刻了高中时在塞班上玩的「熔岩矿车」:纯 Swing、零依赖、没有一张图片,一个 jar 双击就能玩
java·游戏开发·swing
知了学历孙老师2 小时前
小自考的校考和统考,出题方和难度差在哪
java·大数据·前端
Java爱好狂.2 小时前
Java初学者如何一周速通SpringBoot!
java·spring boot·后端·spring·高并发·架构师·java面试
秋饼3 小时前
LLM API密钥动态轮换实战:Spring Vault + Spring AI + 多Provider路由
java·ai·技术分享·后端开发
马良神笔4 小时前
2026 年Rag最近技术前沿总结
后端·python·django
程序猿DD4 小时前
同样10美元,OpenDesign和Command Code的DeepSeek V4.1 Flash额度到底有多少?
后端
福兮说4 小时前
JSON 格式正确,数据就可靠吗?我用一份自编配置检查类型与空值
java·前端·json
高频因子挖掘机4 小时前
A股量化从日线升级到5分钟线:数据量增加后最先暴露哪些工程问题?
后端·github·api
高频因子挖掘机5 小时前
历史行情返回顺序变了,为什么按行号计算指标很危险?
后端·github·api