第二章节介绍spring boot,从三个层面
- What:概念,spring boot是什么?
- How: 系统配置,安装spring boot, 编写Hello World示例项目
- Why:spring boot的优点?
1、概念
引用原著中的定义:
Spring Boot makes it easy to create stand-alone, production-grade Spring-based Applications that you can run
我理解这句话的关键点有两个:第一个是spring boot应用场景是spring-based application。第二个是spring boot的职责,它使得这些项目更容易创建。
所以学习spring-core是spring-boot的基础。
2、使用
介绍How的部分有三个小节。
- 第二小节介绍spring boot需要的最低配置,例如JDK最低版本,Servlet最低版本,maven最低版本等等。本文略。
- 第三小节介绍安装spring boot,介绍了很多方式
- Maven:添加spring-boot-starter-xx的依赖
- Gradle:略。
- CLI:下载spring cli,添加install/bin到系统环境变量下,运行spring init命令,在第七章节介绍。
- Sdkman:省略。
- Homebrew:Mac操作系统。Homebrew安装工具, MacPorts安装工具
- Scoop:Window操作平台,scoop安装工具。
3.第四小节介绍编写Hello World项目的实例。
2.1 Hello World示例
编写spring boot项目的步骤如下
- 验证环境,maven,JDK等已安装好。
- 在maven项目中添加spring-boot-starter-xx依赖,web项目必须添加spring-boot-starter-web依赖。
- 编写HelloController,方法Hello,返回Hello World字符串。
- 编写启动类HelloApp,添加main方法,在类上添加@Configuration,@EnableAutoConfiguration注解,@ComponentScan注解。
- @Configuration代表配置类,是spring-core注解方式获取配置信息的核心注解
- @EnableAutoConfiguration:自动注入,是spring boot的核心功能。
- @ComponentScan:扫描依赖的包路径。
5.如果需要将项目打包成jar,运行mvn package命令。
3、优点
引用原著中的内容:
Provide a radically faster and widely accessible getting-started experience for all Spring development
构建性能更好,更容易创建的app
Be opinionated out of the box but get out of the way quickly as requirements start to diverge from the defaults
自动注入
Provide a range of non-functional features that are common to large classes of projects (such as embedded servers, security, metrics, health checks, and externalized configuration)
集成了很多功能,例如内嵌Web容器,安全框架,指标监控,健康状态,也可以自己扩展。
Absolutely no code generation and no requirement for XML configuration
不在使用XML配置方式,而是纯注解方式。no code generation