day1 springboot 起步
java8+、maven3.3+
springboot 能够快速帮我们创建出生产级别的应用,让我们之后的开发变得简单。
内嵌式服务器
提供自动依赖场景,简化版本控制
自动配置spring 和第三方配置
提供生产级别的监控和健康检查、外部化配置
启动
pom.xml
<parent>
<groupId>org.spring.frameword.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.1.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
编写业务代码,主类 main 方法启动。
配置文件application.properties
进行相关配置。也可以使用 application.yml
打 jar 包后可以直接运行启动项目 jar -jar jarName
依赖管理
<parent>
<groupId>org.spring.frameword.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.1.RELEASE</version>
</parent>
parent 的父级项目机会引入了所有的项目版本
<parent>
<groupId>org.spring.frameword.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.2.1.RELEASE</version>
</parent>
他几乎声明了所有常用依赖的版本号,如果自定义修改版本号
查看 spring-boot-dependencies 里规定的依赖的版本用的 key
在当前项目中重写配置
<properties>
<mysql.version>5.1.43</mysql.version>
</properties>
starter 场景启动器
- spring-boot-starter-* *为某种场景
- 只要引入 starter ,该场景所需要的常规依赖都会自动引入。
- *-spring-boot-starter ,第三方启动器
自动配置
-
自动配好的 tomcat
- 引入 tomcat 依赖
- 配置 tomcat
-
自动配好的 springmvc
- 引入 springmvc 全套组件
- 自动配好 springmvc 的全套功能组件
-
自动配好 web常见功能,如字符编码问题
- springboot 帮我们配置好了所有web开发的常见场景
-
默认的包结构
- 主程序所在的包以及其下面的所有子包里面的组件都会被默认扫描进来
- 无需进行包扫描配置
- 如果想要改变扫描路径(指定扫描路径)
- @SpringBootApplication(scanBasePackages=“com.edu”)
- @ComponentScan(“com.edu”) 指定扫描路径
-
各种配置的默认值
- 默认配置最终都是映射到某个类上
- 配置文件的值最终会绑定到某个类上,这个类会在容器中创建对象
-
按需加载所有自动配置项
- 非常多的场景 starter
- 引入哪些场景,这个场景的自动配置才会开启。
- springboot 所有的自动配置功能都在
spring-boot-autoconfigure
包中