这是一份详细记录了使用Spring Boot进行开发时所需掌握的核心知识点和技能的思维导图文件。包含了从环境配置到项目部署的各项内容,适合初学者快速上手以及经验开发者复习巩固知识结构。
Spring Boot 学习笔记
### Spring基础
- **Spring概述**
- Spring的简史
- XML配置与注解配置对比、Java配置介绍
- **核心容器CoreContainer**
- 模块:`spring-core`, `spring-beans`, `spring-context`, `spring-context-support`
- **AOP模块**
- 包括Spring-AOP和Spring-Aspects
### Spring的生态
包括但不限于以下框架:
- Spring Boot
- Spring Cloud
- Spring Data
- Spring Integration
...
### Maven简介与项目搭建
Maven介绍,安装及使用pom.xml文件配置依赖(dependencies)。
#### 配置变量定义、编译插件等。
详细描述如何通过maven来管理Spring项目的构建过程,包括在`pom.xml`中设置依赖项和变量,并添加必要的插件以支持项目开发流程。
### Spring基础配置
- **声明Bean的注解**
- `@Component`
- `@Service`, `@Repository`, `@Controller`
- **注入Bean的注解**
- `@Autowired`
- `JSR-330`提供的`@Inject`
- JSR-250提供的`@Resource`
### Java配置
使用@Configuration和@Bean进行Java代码级别的配置。
### AOP
介绍AOP的基本概念,包括切面(@Aspect)、拦截规则(如 @Before, @After, @Around)等核心术语,并解释PointCut与JoinPoint的概念及其在实际开发中的应用。
#### Spring常用配置
- Bean的Scope定义:`Singleton`, `Prototype`, `Request`, `Session`
### SpringEL和资源调用
介绍如何使用Spring表达式语言(SpEL),以及注入普通字符、操作系统属性等信息的方法。此外,还涵盖了通过表达式计算结果、文件内容及外部网址等内容。
#### Bean的初始化与销毁配置
- **Java方式**:通过实现InitializingBean或DisposableBean接口来定义。
### Spring高级话题
涵盖Spring Aware概念(如`ApplicationContextAware`, `ApplicationEventPublisherAware`)和多线程编程,计划任务等,并深入讲解条件注解@Conditional以及组合注解与元注解(@Enable*)的工作原理。
#### 测试框架集成测试介绍
- **Spring TestContext Framework**:用于自动化单元测试的高级工具集。
### Spring MVC基础
快速搭建一个基于Maven的Spring MVC项目,包括日志配置、演示页面创建等步骤。详细说明了控制器设置以及使用@Controller, @RequestMapping等一系列常用注解。
#### 高级配置与自定义扩展
- **静态资源映射**
- 拦截器和异常处理
- 自定义HttpMessageConverter(如MappingJackson2HttpMessageConverter)
### SpringBoot基础
介绍Spring Boot的核心概念,包括独立运行的项目、内嵌Servlet容器的支持以及自动化的Maven配置简化。
#### 核心功能与优势
- 快速构建项目的能力。
- 无代码声明和XML配置的需求。
### 配置文件及starter pom
详细描述如何使用`application.properties`, `application.yml`等进行Spring Boot应用的配置。同时,介绍了官方提供的多种Starter以支持快速集成主流开发框架。
#### SpringBootCLI与IDE工具
- **STS (Spring Tool Suite)**
- IntelliJ IDEA和NetBeans作为替代方案
### 快速搭建示例
通过简单的演示来展示如何使用Spring Boot CLI或Maven手动构建一个基本的应用程序,以及在这些环境中运行的步骤。