Spring 极简学习笔记(三)

发布时间:2026/6/26 6:05:23

Spring 极简学习笔记(三) Spring核心定位Spring Boot 不是替代 Spring而是简化 Spring SpringMVC 开发的脚手架解决原生框架配置繁琐、依赖冲突、部署复杂的痛点。一、Spring Boot 核心宗旨自动配置、按需加载、开箱即用、零XML配置Spring Boot 核心优势基于条件注解自动装配常用组件统一管理依赖版本默认适配主流开发场景开发者仅需关注业务代码。二、核心原理自动配置1. 启动注解核心项目入口类唯一注解SpringBootApplication该注解是三合一复合注解等价于以下三个核心注解Configuration标识当前类为配置类替代传统 XML 配置文件EnableAutoConfiguration开启 Spring Boot 自动配置核心功能ComponentScan自动扫描当前包及子包下所有带注解的组件Controller、Service、Component 等无需手动配置扫描路径2. 自动配置底层逻辑核心机制条件注解装配Spring Boot 预置大量自动配置类META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports遵循「有依赖则自动装配无依赖则不生效」原则。常用条件注解ConditionalOnClass项目存在对应类时触发自动配置ConditionalOnMissingBean容器中没有开发者自定义 Bean 时才使用默认配置用户配置优先通俗理解你不配置框架用默认配置你自定义配置框架自动覆盖默认配置兼顾便捷与灵活。三、Starter 启动器核心依赖机制Spring Boot 最大简化设计将一组相关依赖打包为一个 Starter无需手动导入多个依赖、无需管理版本。1. 核心特点版本统一管控父工程 spring-boot-starter-parent 统一管理所有依赖版本彻底解决版本冲突按需引入需要什么功能导入对应 Starter 即可2. 开发高频必备 StarterStarter 依赖核心作用spring-boot-starter-web集成 SpringMVC、Tomcat、JSON 解析用于 Web 接口开发最核心spring-boot-starter-test集成 JUnit、MockMvc用于单元测试、接口测试spring-boot-starter-jdbc集成 JDBC、数据库连接池简化数据库操作配置spring-boot-starter-aop集成 AOP 切面功能用于日志、权限、事务切面处理四、全局配置文件Spring Boot 放弃 XML使用application 全局配置文件统一管理项目所有配置优先级application.yml application.properties推荐 yml 格式层级清晰、简洁易读1. 高频基础配置# 服务器配置 server: port: 8080 # 端口号 servlet: context-path: / # 项目访问根路径 # 日志配置 logging: level: root: info # 全局日志级别 com.xxx.service: debug # 指定包日志级别2. 配置文件核心特性自动绑定可通过ConfigurationProperties将自定义配置绑定到实体类多环境切换支持 dev开发、test测试、prod生产环境配置通过参数一键切换五、Web 开发简化对比原生 SpringMVC1. 无需手动配置的组件全自动装配内置 Tomcat 服务器无需单独部署 Tomcat自动配置视图解析器、字符编码过滤器统一 UTF-8 编码自动整合 Jackson实现 JSON 数据自动序列化/反序列化2. 接口开发极简模板REST 风格RestController // 复合注解Controller ResponseBody直接返回JSON RequestMapping(/demo) public class DemoController { GetMapping(/hello) public String hello() { return Spring Boot 极简开发; } }六、Bean 管理与自定义配置1. 手动注册 Bean替代 XML使用配置类 Bean 注解手动创建、注入第三方组件 BeanConfiguration public class WebConfig { // 手动注册拦截器、线程池等组件 Bean public RestTemplate restTemplate() { return new RestTemplate(); } }2. 核心原则框架默认 Bean 不满足需求时自定义 Bean 覆盖默认配置符合「约定大于配置」思想。七、Spring Boot 核心总结核心定位简化 Spring 开发的脚手架底层完全基于 Spring SpringMVC无新功能仅简化配置核心注解SpringBootApplication启动入口三合一注解核心机制Starter 依赖简化 条件注解自动配置核心优势零XML、内置服务器、版本统一、开箱即用、快速开发配置原则默认配置可用自定义配置优先

相关新闻