一、入门
Spring Boot 是所有基于 Spring 开发的项目的起点。Spring Boot 的设计是为了让你尽可能快的跑起来 Spring 应用程序并且尽可能减少你的配置文件。
约定大于配置。
优点:
- 可以创建独立的 Spring 应用程序,并且基于其 Maven 或 Gradle 插件,可以创建可执行的 JARs 和 WARs;
- 内嵌 Tomcat 或 Jetty 等 Servlet 容器;
- 提供自动配置的“starter”项目对象模型(POMS)以简化 Maven 配置;
- 尽可能自动配置 Spring 容器;
- 提供准备好的特性,如指标、健康检查和外部化配置;
- 绝对没有代码生成,不需要 XML 配置。
二、快速搭建 Spring Boot 项目
选择 File -> New -> Project -> Spring Initializr:
修改一下项目的信息,然后点击 next :
选择你所需的起步依赖:
点击 next -> Finish:
项目结构为:
三、解析 Spring Boot 项目
1、启动类上的 @SpringBootApplication 注解
这是一个组合注解,包括:@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan
- @SpringBootConfiguration:继承自 @Configuration,二者功能也一致,标注当前类是配置类,并会将当前类内声明的一个或多个以 @Bean 注解标记的方法的实例纳入到 spring 容器中,实例名就是方法名。
- @EnableAutoConfiguration:启动自动配置,SpringBoot 根据你添加的 jar 包来配置你项目的默认配置。
- @ComponentScan:扫描当前包及其子包下被 @Component、@Controller、@Service、@Repository 注解标记的类并纳入到 spring 容器中。
2、配置文件
SpringBoot默认支持properties和YAML两种格式的配置文件。前者格式简单,但是只支持键值对。如果需要表达列表,最好使用YAML格式。SpringBoot支持自动加载约定名称的配置文件,例如application.yml。如果是自定义名称的配置文件,就要另找方法了。
bootstrap.yml 先于 application.yml 加载。
- bootstrap.yml:用来程序引导时执行,应用于更加早期配置信息读取,可以用来配置 application.yml 中使用到的参数,如 config server 信息。
- application.yml:应用程序特有配置信息,可以用来配置后续各个模块中需要使用的公共参数等。