一、Spring Boot 简介
Spring Boot 是基于 Spring 框架之上的快速开发框架,旨在简化 Spring 应用的构建过程,让开发者更专注于业务逻辑,而不是繁琐的配置。
特点:
-
自动配置(Auto Configuration)
-
起步依赖(Starter Dependencies)
-
内嵌式服务器(如 Tomcat)
-
无需大量 XML 配置
-
配置灵活(支持
application.properties
/application.yml
)
二、环境准备
1. 开发工具
-
IDE:IntelliJ IDEA(推荐)
-
JDK:Java 8 或更高版本
-
构建工具:Maven 或 Gradle
-
数据库:MySQL(或 H2 作为内嵌数据库)
2. 创建项目
推荐使用 Spring 官方提供的 Spring Initializr 来快速生成项目结构。
三、项目结构说明
src└── main├── java│ └── com.example.demo│ ├── controller│ ├── service│ ├── repository│ └── DemoApplication.java└── resources├── application.yml├── static/└── templates/
四、核心注解介绍
注解 | 说明 |
---|---|
@SpringBootApplication | 核心注解,包含 @Configuration 、@EnableAutoConfiguration 和 @ComponentScan |
@RestController | 组合注解,包含 @Controller + @ResponseBody |
@RequestMapping | 用于请求路径映射 |
@Autowired | 自动注入依赖 |
@Service / @Repository | 标识服务层 / 数据访问层 Bean |
五、配置文件说明(application.yml)
server:port: 8080spring:datasource:url: jdbc:mysql://localhost:3306/demousername: rootpassword: rootthymeleaf:cache: falsejpa:hibernate:ddl-auto: updateshow-sql: true
六、核心功能实战
1. Web 接口开发
Controller 示例:
@RestController
@RequestMapping("/api")
public class HelloController {@GetMapping("/hello")public String hello() {return "Hello, Spring Boot!";}
}
2. 服务层(Service)
@Service
public class UserService {public String getUserInfo() {return "用户信息";}
}
3. 数据访问层(Repository)
使用 Spring Data JPA:
public interface UserRepository extends JpaRepository<User, Long> {}
七、常用模块
1. Spring Boot + MyBatis
-
添加依赖:
<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.3.1</version>
</dependency>
-
Mapper 接口 + XML 配置
2. Spring Boot + Thymeleaf
用于构建前端模板页面:
@Controller
public class PageController {@GetMapping("/home")public String home(Model model) {model.addAttribute("msg", "欢迎!");return "home";}
}
八、定时任务实现
@Component
public class ScheduledTasks {@Scheduled(cron = "0/10 * * * * ?")public void reportCurrentTime() {System.out.println("现在时间:" + new Date());}
}
-
启动类中添加:
@EnableScheduling
九、异常处理机制
@RestControllerAdvice
public class GlobalExceptionHandler {@ExceptionHandler(Exception.class)public ResponseEntity<String> handle(Exception e) {return ResponseEntity.status(500).body("服务器异常:" + e.getMessage());}
}
十、打包部署
使用 Maven 打包:
mvn clean package
运行 Jar:
java -jar target/demo-0.0.1-SNAPSHOT.jar
十一、常见问题与调试技巧
-
端口被占用? 修改
application.yml
中的server.port
-
404 页面? 检查路径是否映射正确
-
自动配置失效? 查看是否存在
@SpringBootApplication
、@ComponentScan
被覆盖的问题 -
调试 SQL? 开启
spring.jpa.show-sql=true
十二、进阶学习建议
-
学习 Spring Boot 与 SSM 的整合
-
理解 Spring Boot 自动配置原理(查看源码:
spring-boot-autoconfigure
) -
深入使用 AOP、缓存、消息队列(RabbitMQ/Kafka)
-
掌握 Spring Cloud 微服务架构