SpringBoot
概述
SpringBoot是由Pivotal团队在2014年4月发布的全新开源轻量级框架。它基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。
SpringBoot所具备的特征如下:
-
Create stand-alone Spring applications
-
Embed Tomcat, Jetty or Undertow directly (no need to deploy WAR files)
-
Provide opinionated 'starter' dependencies to simplify your build configuration
-
Automatically configure Spring and 3rd party libraries whenever possible
-
Provide production-ready features such as metrics, health checks, and externalized configuration
-
Absolutely no code generation and no requirement for XML configuration
-
可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JAR和WAR
-
内嵌Tomcat或Jetty等Servlet容器
-
提供自动配置的“starter”项目对象模型(POMS)以简化Maven配置
-
尽可能自动配置Spring和第三方库
-
提供准备好的特性,如指标、健康检查和外部化配置
-
不需要xml配置文件
SpringBoot快速入门
创建项目
方式一
使用官网GUI配置,选择对应依赖,下载生成的代码
-
SNAPSHOT:快照版,也就是开发版
M: 里程碑版本,表示该版本较之前版本有功能上的重大更新
rc:Release Candidate,发行候选版本
Release:最终版本
-
点击
GENERATE
按钮,生成项目框架文件,解压后,就得到了一个SpringBoot项目文件
方式二
直接在IDEA中创建SpringBoot项目
-
打开IDEA,新建项目,选择
Spring Initializr
并填写项目基本信息 -
-
选择版本
-
SpringBoot项目创建完成
SpringBoot项目目录结构
-
SpringbootdemoApplication
Spring Boot项目的启动类
-
application.properties
Spring Boot项目的配置文件 ,文件名字必须叫application,文件类型也可以是yml
-
pom.xml
打开一个新建的SpringBoot项目后,可以在pom文件中看见如下配置:
与之前创建的Maven项目不同的是,在SpringBoot项目的pom文件中,多了一个父工程的配置信息,
由此看出,每个SpringBoot项目都会依赖一个父工程,这个父工程就是:
spring-boot-starter-parent
。我们可以进入到依赖的父工程的pom文件中,看到如下配置:

在观察这个父工程的pom文件中发现,这个配置文件依旧依赖了另一个父工程,另一个父工程是:
spring-boot-dependencies
。我们再次进入到另一个父工程的pom文件中,看到如下配置:
配置文件中整体分为三大类:当前项目信息、依赖管理信息、构建管理信息。
pom中包含创建项目时选择的依赖,Spring Boot项目默认继承于
spring-boot-starter-parent
,而
spring-boot-starter-parent
继承于spring-boot-dependencies
,spring-boot-dependencies
中主要是确定市面常用技术的版本,从而使子项目不需要考虑各个框架间的版本兼容问题。Spring Boot的依赖通常为两种格式:
-
spring-boot-starter-xxx
Spring Boot官方提供的依赖,无缝兼容,配置简单
-
xxx- spring-boot-starter
由框架/技术团队提供的依赖,适配Spring Boot新版本相对较慢,使用时需要关注兼容性。
-
Spring Boot的Bean配置
Bean注入
@SpringBootTest
class SpringTestApplicationTests {
@Autowired
private Person person;
@Test
void contextLoads() {
System.out.println(person);
}
}
核心注解

注解扫描
@SpringBootApplication
注解默认扫描当前类所在包,以及他的子包下,可以创建bean,包范围以外的类是不能创建对象的
可以通过以下形式扩大扫描范围,但不建议。
@ComponentScan
@ComponentScan(basePackages = "com.codingfuture")
@SpringBootApplication(scanBasePackages ="com.codingfuture" )
public class SpringbootTestApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootTestApplication.class, args);
}
}
@Component
public class Person {
}
springboot核心思想, 约定(默认配置) 大于配置(手动配置)
maven 项目的配置文件存放在 resources 资源目录下。
maven 项目默认编译后的文件放于 target 目录。
maven 项目默认打包成 jar 格式。
配置文件默认为 application.yml 或者 application.yaml 或者 application.properties。
默认通过配置文件 spring.profiles.active 来激活配置。
尽量不要修改springboot的默认配置
配置管理
properties
Yml