3.1 SpringBoot介绍
SpringBoot的本质是SpringFramework(IoC,AOP)的再次封装的上层应用框架,通过简化配置来进一步简化了Spring应用的整个搭建和开发过程,其作用是方便开发独立的应用程序
- 采用Starter POM简化Maven的配置
- 大量采用约定简化Spring的配置
- 内嵌Tomcat、Jetty或Undertow
- 提供产品级的运行监控Actuator功能
Spring Boot 参考文档:Spring Boot Reference Documentation
3.2 Spring和SpringBoot的区别
1.Spring 是用于简化 Java 企业级应用的开发难度和开发周期,两大核心IOC 与 AOP有效的管理了开发中对象的生命周期问题,也提供了与很多框架整合的工具
但Spring需要配置大量的 XML 和文件搭建
- 配置web.xml,加载Spring和Spring MVC
- 配置数据库连接Spring JDBC,配置Spring事务
- 配置加载配置文件的读取,开启注解
- 配置完成之后部署Tomcat调试
- ……
Spring中引导配置,常用的注解通常分为两类,一类是用来注册Bean,一类是用来使用Bean,简单的来说bean就是一个被实例化的对象,Spring Bean的生命周期从创建容器开始,到容器销毁Bean为止
2.SpringBoot 是对 Spring 框架的扩展或者再封装,通过简化配置来进一步简化了Spring应用的整个搭建和开发过程
而使用 Spring Boot 来开发项目,可以省去大量的配置,由Java 配置替代XML 配置写在 apaplication.properties 中,就可以搭建起来一个 Web 项目
- 通过自动配置,解决配置复杂问题
Spring Boot中引导配置,从应用程序的入口点使用@SpringBootApplication注释的类
3.3 系统要求
环境 | 版本 |
Java | 8+ |
Spring | Framework 5.0.0+ |
Maven | 3.2+ |
Tomcat | 8.5+ (Servlet 3.1) |
Jetty | 9.4+ (Servlet 3.1) |
Undertow | 1.3+ (Servlet 3.1) |
3.4 SpringBootApplication
SpringBootApplication就是SpringBoot中的引导配置,默认会从resources目录下使用以下 2 种全局的配置文件,其文件名是固定的,其中application.yml 是一种使用 YAML 语言编写的文件
- application.properties
- application.yml
SpringBoot应用的Main函数
@SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }
@SpringBootApplication是一个复合注解,包括
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@Configuration
实现配置文件的功能。
@EnableAutoConfiguration
打开或关闭自动配置的功能与选项@ComponentScan
Spring组件扫描@interface
例如修改Servlet容器的监听端口有三种方式
- 在application.yml中定义
server: port: 9090
- 在Java的命令行中定义
$ java -jar RestfulDemo-0.0.1-SNAPSHOT.jar --server.port=9090
- 在环境变量中定义
$ export SERVER_PORT=9090