Skip to content

Spring Boot(一):Spring Boot 入门篇

一.什么是 Spring Boot

Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是 Spring Boot 其实不是什么新的框架,它默认配置了很多框架的使用方式,就像 Maven 整合了所有的 Jar 包,Spring Boot 整合了所有的框架。Spring Boot 是基于 Spring 框架的快速开发工具,旨在简化 Spring 应用的初始搭建和开发流程,遵循“约定大于配置”原则‌。

二.使用 Spring Boot 有什么好处

  • 简化 Spring 应用的初始搭建和开发流程!

平时如果需要搭建一个 Spring Web 项目的时候需要做什么?

  • 配置 web.xml,加载 Spring 和 Spring mvc
  • 配置数据库连接、配置 Spring 事务
  • 配置加载配置文件的读取,开启注解
  • 配置日志文件
  • 配置完成之后部署 Tomcat 调试

现在很简单,仅仅只需要非常少的几个配置就可以迅速方便的搭建起来一套 Web 项目或者是构建一个微服务!

三、快速入门步骤

1.‌项目创建

Maven 构建项目

  • 1、访问 http://start.spring.io/
  • 2、选择构建工具 Maven Project、Java、Spring Boot 版本 3.3.10 以及一些工程基本信息,可参考下图所示:

image.png

  • 3、点击 Generate 下载项目压缩包
  • 4、解压后,使用 Idea 导入项目,File -> Open -> 选择解压后的文件夹 -> OK

Idea 构建项目

  • 1、选择 File -> New —> Project… 弹出新建项目的框
  • 2、选择 Spring Initializr,Next 也会出现上述类似的配置界面,Idea 帮我们做了集成
  • 3、填写相关内容后,点击 Next 选择依赖的包再点击 Next,最后确定信息无误点击 Finish。

image.png

项目结构介绍

image.png

Spring Boot 的基础结构共三个文件:

  • src/main/java 程序开发以及主程序入口
  • src/main/resources 配置文件
  • src/test/java 测试程序

Spring Boot 建议的目录结果如下: root package 结构:com.example.myproject

com
  +- example
    +- myproject
      +- Application.java
      |
      +- model
      |  +- Customer.java
      |  +- CustomerRepository.java
      |
      +- service
      |  +- CustomerService.java
      |
      +- controller
      |  +- CustomerController.java
      |
  • 1、Application.java 建议放到根目录下面,主要用于做一些框架配置
  • 2、model 目录主要用于实体与数据访问层(Repository)
  • 3、service 层主要是业务类代码
  • 4、controller 负责页面访问控制

采用默认配置可以省去很多配置,当然也可以根据自己的喜欢来进行更改 最后,启动 Application main 方法,至此一个 Java 项目搭建好了!

2.引入 web 模块

pom.xml中添加支持web的模块:

xml
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
	</dependencies>

pom.xml 文件中默认有两个模块:

  • spring-boot-starter :核心模块,包括自动配置支持、日志和 YAML,如果引入了 spring-boot-starter-web web 模块可以去掉此配置,因为 spring-boot-starter-web 自动依赖了 spring-boot-starter
  • spring-boot-starter-test :测试模块,包括 JUnit、Hamcrest、Mockito。

3.编写引导类

  • 添加 @SpringBootApplication 注解的主类,作为应用启动入口‌。
@SpringBootApplication
public class SpringBootStartApplication {
    public static void main(String[] args) {
        SpringApplication.run(SpringBootStartApplication.class, args);
    }
}

4.开发 REST 接口

创建控制器类,通过 @RestController@GetMapping 定义 HTTP 接口‌。

@RestController
public class HelloController {
    @GetMapping("/hello")
    public String hello() {
        return "Hello Spring Boot!";
    }
}

@RestController 的意思就是 Controller 里面的方法都以 json 格式输出,不用再写什么 jackjson 配置的了!

5.运行与测试

执行 mvn spring-boot:run 或通过 IDE 直接启动应用

访问如下接口响应

java
http://localhost:8080/hello

NOTE

此链接需在本地启动 Spring Boot 应用后生效,直接点击无效。可通过以下方式验证:

image.png

6.单元测试

打开的src/test/下的测试入口,HelloControllerTest 编写简单的 http 请求来测试;使用 mockmvc 进行,利用MockMvcResultHandlers.print()打印出执行结果。

java
@RunWith(SpringRunner.class)
@SpringBootTest
public class HelloControllerTest {
    private MockMvc mvc;

    @Before
    public void setUp() throws Exception {
        mvc = MockMvcBuilders.standaloneSetup(new HelloController()).build();
    }

    @Test
    public void getHello() throws Exception {
        mvc.perform(MockMvcRequestBuilders.get("/hello").accept(MediaType.APPLICATION_JSON))
                .andExpect(status().isOk())
                .andExpect(content().string(equalTo("Hello Spring Boot!")));
    }
}

四、核心特性

1.简化配置

  • 自动管理依赖版本,通过 starter 模块(如 spring-boot-starter-web)快速集成常用功能‌。
  • 默认内嵌 Tomcat 或 Jetty 服务器,无需部署 WAR 包‌。‌

2.自动装配

通过 @EnableAutoConfiguration 注解实现组件自动加载,减少 XML 配置‌26。

核心机制基于 spring.factories 文件中的配置类列表,按需加载 Bean‌26。

3.‌开发效率优化

  • 支持热部署(如 DevTools 模块),修改代码后自动重启应用‌。
  • 提供 Actuator 模块监控应用健康状态和性能指标‌。

五、学习建议‌

1.基础学习路径

掌握 Maven/Gradle 构建工具和 Spring 核心概念(如 IOC、AOP)。

从官方文档和示例项目入手,理解自动装配原理和常用注解‌。

2.实践方向‌

尝试搭建微服务架构,结合 Spring Cloud 实现服务注册、配置中心等功能‌。

通过单元测试(JUnit 5)和 MockMvc 验证接口逻辑‌。

3.资源推荐

  • 官方文档‌:Spring Boot 官网提供完整指南和 API 说明。
  • 社区教程‌:参考 CSDN、腾讯云等平台的实战案例。

通过上述步骤和特性,可快速上手 Spring Boot 并构建高效的企业级应用‌

六、源码地址

01-spring-boot-start