SpringBoot是什么
介绍
为了简化 Spring 应用的搭建和开发过程,Pivotal 团队在 Spring 基础
上提供了一套全新的开源的框架,它就是 Spring Boot。
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化
新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进
行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,
Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application
development)成为领导者。
Spring Boot 具有 Spring 一切优秀特性,Spring 能做的事,Spring
Boot 都可以做,而且使用更加简单,功能更加丰富,性能更加稳定而健
壮。随着近些年来微服务技术的流行,Spring Boot 也成为了时下炙手可热
的技术。
特点
为所有 Spring 开发提供从根本上更快且可广泛访问的入门体验
可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可
以创建可执行的jar包和war包
开箱即用,提供自动配置的“starter”项目对象模型(POMS)以简化
Maven配置
内嵌Tomcat或Jetty等Servlet容器
尽可能自动配置Spring容器
提供一系列大型项目通用的非功能特性,(例如嵌入式服务器、安全
性、指标、健康检查和外部化配置)
绝对没有代码生成,不需要XML配置
重要策略
SpringBoot框架中还有两个非常重要的策略:开箱即用和约定优于配置
开箱即用
开箱即用,Outofbox,是指在开发过程中,通过在MAVEN项目的pom
文件中添加相关依赖包,然后使用对应注解来代替繁琐的XML配置文件以
管理对象的生命周期。这个特点使得开发人员摆脱了复杂的配置工作以及
依赖的管理工作,更加专注于业务逻辑。
约定优于配置
约定优于配置(convention over configuration),也称作按约定编
程,是一种软件设计范式,旨在减少软件开发人员需要的配置。
本质上是对系统、类库或框架中一些东西(如配置信息)假定一个大众化
合理的默认值(缺省值)。
例如在模型中存在一个名为User的类,那么对应到数据库会存在一个
名为user的表,只有在偏离这个约定时才需要做相关的配置(例如你
想将表名命名为t_user等非user时才需要写关于这个名字的配置)。
简单来说就是假如你所期待的配置与约定的配置一致,那么就可以不做
任何配置,约定不符合期待时时才需要对约定进行替换配置。
演示
先引入maven
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
然后填写代码
main方法 我们应用程序的最后一部分是main方法。这是遵循Java约定的应用程序入 口点的标准方法。我们的main方法SpringApplication通过调用委托给 Spring Boot的类run。 SpringApplication引导我们的应用程序,启动 Spring,这反过来又启动了自动配置的Tomcat Web服务器。
@SpringBootApplication
@RestController
public class DemoApplication {
@RequestMapping("/hello")
public String hello(){
return "hello world!";
}
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
通过创建一个可以在生产环境中运行的完全独立的可执行jar文件来结束示 例。 要创建可执行jar,我们需要将添加spring-boot-maven-plugin到 pom.xml。为此,请在该dependencies部分下方插入以下行:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
从命令行运行mvn package,如下所示:
如果查看target目录,则应该看到demo-0.0.1-SNAPSHOT.jar。该文件的 大小应为16.2 MB左右。如果您想窥视内部,可以使用jar tvf,如下所示
要运行该应用程序,请使用以下java -jar命令: starter java -jar demo-0.0.1-SNAPSHOT.jar