spring boot的特性
1)自动配置 -Auto Configuration
2)起步依赖-Starter Dependency
3)命令行界面-Spring Boot CLI
4)运行监控-Actuator
SpringBoot 特性
创建独立的Spring应用,是SpringBoot的首要特性
SpringBoot 1.x版本中有且仅有Servlet容器实现,包括传统的Servlet和Spring Web MVC,总2.0版本开始增加了Reactive Web容器实现,即Spring 5.0 WebFlux,所以在SpringApplication API上薪资了setWebApplicationType()方法,允许程序显示的设置Web应用的枚举类型。
枚举类型如下:
NONE:非Web应用
SERVLET:
REACTIVE WEB:
主要用于服务提供、调度任务、消息处理等场景;
在传统的Spring应用中,外置容器需要启动脚本引导,随着生命周期的回调执行Spring上下文的初始化,比较有代表性的是SpringWeb的ContextLoaderListener和Web MV中的DispatchServlet,前者利用ServletContext生命周期构建Web Root Spring上下文,后者结合 Servlet生命周期创建DispatchServlet的Spring应用上下文。无论何种方式,均属于被动的回调执行,这也是为什么它们并没有完整的应用主导权的原因。
然而当SpringBoot出现嵌入式容器启动方式后,嵌入式容器称为应用的一部分,从本质上来说,它属于Spring应用上下文中的组件Beans,这些组件和其他组件均有自动装配特性组装成Spring Bean定义BeanDefinition,随着Spring应用上下文启动而注册并初始化。驱动Spring应用上下文启动的核心组件则是SpringBoot核心API,SpringApplication。
mvn archetype:generate -DgroupId=thinking-in-spring-boot -DartifactId=first-spring-boot-application -Dversion=1.0.0-SNAPSHOT -DinteractiveMode=false -Dpackage=thinking.in.spring.boot
运行springboot:mvn spring-boot:run
官方文档告知开发人员构建可执行jar的前提是添加spring-boot-maven-plugin到pom.xml文件中。
SpringBoot可执行JAR资源结构:
SpringBoot-简介
接触Spring Boot已经很长时间了,但对SpringBoot的理解还是虚虚实实,找不着北,所以决定花一些时间总解下,虽然不知道能不能坚持下来,但先开始吧!
Spring Boot是一个便于创建独立的、生产级的、基于Spring的应用程序框架,你可以很方便的启动程序。
以上是SpingBoot官方给的特点,涵盖了SpringBoot的主要特性,下面也谈谈自己的使用心得。
可以在 网站直接创建,也可以使用IDEA等IDE创建,可以选择基于Maven或Gradle工程
官网创建工程:
SpringBoot支持创建jar包和war包。创建的jar包是内嵌tomcat,可以通过java -jar xxx.jar命令启动。创建war包是外置tomcat,可以放到tomcat容易启动
何为约定优于配置?
简单来说就是两点
SpringBoot项目的约定
SpringBoot创建完成后默认的配置文件是以properties为后缀名,SpringBoot支持将后缀名改为yml。yml后缀名的配置文件可读性更加舒适
SpringBoot是Spring的一套快速配置脚手架,可以基于SpringBoot快速开发单个微服务,而Spring Cloud是一个基于Spring Boot实现的微服务框架。
SpringBoot是一个基于Spring的快速开发框架,它通过“懒人整合包”(starter)将Spring常用的jar包包含在内,解决Spring依赖繁多问题。通过单一配置文件,解决了传统项目繁多、复杂的配置。约定优于配置的原则使项目搭建起来更多方便快捷。