Spring Boot入门

Spring Boot 简介

Spring Boot 是基于 Spring 框架的快速开发脚手架,简化了 Spring 应用的初始搭建和配置过程。它通过自动配置、内嵌服务器(如 Tomcat)和约定优于配置的原则,让开发者快速构建独立运行的、生产级别的应用。

核心作用

  1. 简化配置:无需手动配置 XML 或繁琐的依赖管理。
  2. 快速启动:内嵌服务器,直接运行 main 方法即可启动项目。
  3. 生态整合:默认集成 Spring 生态(如 Spring MVC、Spring Data)和第三方库(如 Redis、MyBatis)。

企业应用场景

  • 微服务架构中的独立服务模块。
  • 快速构建 RESTful API 或前后端分离的后端应用。
  • 替代传统 SSM(Spring + Spring MVC + MyBatis)的繁琐配置。

面试常见问题

  1. Spring Boot 自动配置原理(如 @SpringBootApplication 注解的作用)。
  2. 如何自定义 Starter 组件。
  3. Spring Boot 与 Spring Cloud 的关系。

Spring Boot Web 案例

以下是一个简单的 Spring Boot Web 应用示例,包含详细注释和代码逻辑。

1. 项目结构
src/main/java  
└── com.example.demo  
    ├── DemoApplication.java       // 启动类  
    └── controller  
        └── HelloController.java  // 控制器  

2. 代码实现

启动类 DemoApplication.java

package com.example.demo;  

import org.springframework.boot.SpringApplication;  
import org.springframework.boot.autoconfigure.SpringBootApplication;  

// 核心注解:组合了@Configuration、@EnableAutoConfiguration和@ComponentScan  
@SpringBootApplication  
public class DemoApplication {  
    public static void main(String[] args) {  
        // 启动Spring Boot应用  
        SpringApplication.run(DemoApplication.class, args);  
    }  
}  

控制器 HelloController.java

package com.example.demo.controller;  

import org.springframework.web.bind.annotation.GetMapping;  
import org.springframework.web.bind.annotation.RequestParam;  
import org.springframework.web.bind.annotation.RestController;  

// @RestController = @Controller + @ResponseBody  
@RestController  
public class HelloController {  

    // 处理GET请求,路径为/hello  
    @GetMapping("/hello")  
    public String sayHello(@RequestParam(value = "name", defaultValue = "World") String name) {  
        // 逻辑:拼接字符串并返回  
        return String.format("Hello, %s!", name);  
    }  
}  

3. 配置文件 application.properties
# 设置服务器端口  
server.port=8080  

# 设置应用上下文路径  
server.servlet.context-path=/demo  

4. 运行与测试
  1. 启动 DemoApplicationmain 方法。
  2. 访问 http://localhost:8080/demo/hello?name=SpringBoot,返回结果:
Hello, SpringBoot!  

  1. 不传参数时(http://localhost:8080/demo/hello),返回默认值:
Hello, World!  

5. 关键逻辑解析
  • 自动配置:Spring Boot 根据依赖(如 spring-boot-starter-web)自动配置 Tomcat 和 Spring MVC。
  • 注解驱动@GetMapping 定义路由,@RequestParam 处理请求参数。
  • 内嵌服务器:无需部署 WAR 包,直接运行 Jar 文件即可启动服务。

扩展:企业级用法

  1. 连接数据库:通过 spring-boot-starter-data-jpamybatis-spring-boot-starter 集成 ORM 框架。
  2. 异常处理:使用 @ControllerAdvice 全局捕获异常。
  3. 日志监控:集成 Actuator 暴露健康检查接口。

如需进一步扩展(如数据库操作、AOP 等),可基于此案例逐步添加模块。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值