1 Helloworld
Maven配置文件,web配置集成了web开发所需要的依赖
# pom.xml
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.9.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
创建一个SpringBoot的主程序,直接运行即可,SpringBoot集成了Tomcat,会自动部署和启动服务器
@SpringBootApplication
public class MainApplication {
public static void main(String[] args) {
ConfigurableApplicationContext run = SpringApplication.run(MainApplication.class, args);
User user = run.getBean("user", User.class);
}
}
SpringBoot配置文件,可用于设置端口号等
# application.properties
server.port=8080
2 开发路线
- 引入场景依赖,对应的starter
- 查看自动配置了哪些(选做),可以通过在主配置文件中加入debug=true查看控制台输出
- 是否需要修改
- 参照文档修改配置项
- 加入或替换组件
3 打包jar包
将项目打包成jar包,可直接运行(包括部署和启动服务器)
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
4 依赖管理
父项目包含了几乎所有需要的依赖管理,并自动规定好版本号
自定义依赖的版本号:在当前项目中重写这个依赖的配置
starter包含了某种场景下所有常规需要的依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.9.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
5 自动配置
- 将Main程序所在包下的所有组件导入
- 自动加载一些其他的组件
- SpringBoot先加载所有的自动配置类(xxxAutoConfiguration)
- 得益于条件装配机制,每个配置类按照条件生效,生效的配置类会给容器装配很多组件,相当于有这些功能
- 每个配置类默认都会绑定配置文件指定的值(xxxProperties)
- 用户可以定制化配置
- 直接自己通过@Bean替换底层组件
- 去查这个配置文件的哪个值,在主配置文件application.properties中配置这个值
6 yaml
配置文件的另一种写法,适合用来做以数据为中心的配置文件
- key: value,kv之间有空格
- 大小写敏感
- 使用缩进表示层级关系,缩进不允许使用tab只允许空格,缩进的空格数不重要,只要相同层级的元素左对齐即可
- '#'表示注释
- 字符串无需加引号,如果要加,单引号会将\作为字符串输出,双引号会将\作为特定字符输出