3:SpringBoot-Java Spring

86 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第24天,点击查看活动详情

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 系统要求

环境版本
Java8+
SpringFramework 5.0.0+
Maven3.2+
Tomcat8.5+ (Servlet 3.1)
Jetty9.4+ (Servlet 3.1)
Undertow1.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