以下为 Jean 学习笔记和习题整理,供学习和参考
# SpringBoot 有哪些优点
1. 独立运行
2. 简约配置,约定优于配置的理念
3. 自动配置
4. 无代码生成和 XML 配置
5.Actuator 应用监控
# SpringBoot 的核心注解
@SpringBootApplication 注解,这个注解是一个组合注解
4 个元注解
@ComponentScan: 默认情况下会扫描当前包及其子包下面所有被 @Comonent 注解修饰的 java 类
@SpringBootConfiguration: 组合了 @Configuration, 标识了被 SpringBootApplication 所标识的 java 类就是一个配置类
@EnableAutoConfiguration: 打开自动装配的功能 -》META-INF/spring.factories 文件中加载需要自动注入的 java 类
# Starter
starter 的作用是在 METE-INF 目录下提供了一个 spring.properties 文件,在该文件中添加了一个需要注入到 Spring 容器中的对应的配置类
第三方框架需要整合到 SpringBoot 中,需要把第三方框架的核心组件注入到 Spring 容器中,提供的方式就是 spring.factories 文件
Starter 也可以理解为一个启动器
Starter 命名规范:
SpringBoot 官方 starter 会以 spring-boot-starter-xxx 命令 比如:spring-boot-starter-web,非官方的 starter 会以 xxx-spring-boot-starter 命令,比如 mybatis-spring-boot-starter
# SpringBoot 项目需要单独的 web 容器吗?
可以不需要,SpringBoot 项目中我们会添加 spring-boot-starter-web 这个容器,而在这个依赖中内嵌了 Tomcat 容器,
# 常见 starter
spring-boot-starter-web 提供 SpringMVC + 内置 tomcat
spring-boot-starter-data-jpa: 提供了 SpringJPA 和 Hibernate
Spring-boot-starter-data-redis: 提供 Redis 服务
mybatis-spring-boot-starter: 提供 MyBatis
...
SpringBoot 项目的启动方式
1. 直接通过 main 方法运行
2. 打成 jar 包 通过 java -jar 的命令运行或者打成 war 包,然后把 war 包放到 web 容器中
3. 使用 Maven/Gradle 插件来运行