1、springboot简单介绍
版本介绍
通过官网网址:https://spring.io/projects/spring-boot 查看版本,如下
版本名称 | 意义 |
---|---|
SNAPSHOT | 快照版,就是还在开发阶段,不没有经过大量的测试,稳定性差,不建议使用 |
CURRENT | 最新版,但是不一定是稳定的版本 |
GA(General Avallability) | 正式发布的版本,只有GA标记的版本他是最稳定的 |
SpringBoot配置文件的存放位置
配置文件存放位置
- 当前项目根目录中
- 当前项目根目录下的一个/config子目录中
- 项目的resource即classpath根路径中
- 项目的resources即classpath跟路径下的/config目录中
SpringBoot有两种配置文件格式:
- application
- yaml
application和yaml两种格式同时存在,application的优先级比yaml高;
两个配置文件存在同样的属性时,则由配置文件的顺序决定,先执行的配置文件的属性会被使用,而后执行的配置文件里的相同的属性,则不会执行,并且不会覆盖之前的属性值。
占位符语法
占位符作用
- “${}”中可以获取框架提供的方法中的值,例如:random.int等
- 占位符可以获取配置文件中的键的值赋给另一个键作为值。
框架提供的方法有
- ${random.value} 类似uuid的随机数,没有“-”连接
- ${random.int} 随机取整形范围内的一个值
- ${random.long} 随机取长整形范围内的一个值
- ${random.long(100,200)} 随机生成长整型 100-200 范围内的一个值
- ${random.uuid} 生成一个uuid,有短杠连接
- ${random.int(10)} 随机生成一个10以内的数
- ${random.int(100, 200)} 随机生成一个100-200范围以内的数
获取配置文件中的键的值赋给另一个键作为值
SpringBoot的bootstrap配置文件
- SpringBoot有两种上下文对象:application和bootstrap
- bootstrap是应用程序的父上下文,所以bootstrap加载优先于application
- 主要用于从额外的资源来加载配置信息或在本地外部配置文件中解密属性
- application和bootstrap这两个上下文公用同一环境,存放的位置相同,同样可以用yaml格式
- bootstrap是任何Spring应用程序的外部属性的来源
- 默认不能被本地相同配置覆盖
- 由父ApplicationContext加载
@SpringBootApplication注解简单介绍
@SpringBootApplication
- 是SpringBoot的启动类
- 等同于@Configuration + @EnableAutoConfiguration + @ComponentScan的组合。
@SpringBootConfiguration
- @SpringBootConfiguration是@Configuration的派生注解,作用于@Configuration一样
- 该注解属于SpringBoot的注解
@EnableAutoConfiguration
- 由@AutoConfigurationPackage和@Import(AutoConfigurationImportSelector.class)组成的注解
- 根据你添加的jar依赖自动配置你的Spring应用
- SpringBoot对配置进行依赖注入,对第三方库的注入就是依靠该注解
@AutoConfigurationPackage
- 自动注入主类下所在包下所有加了注解的类例如(@Controller、@Service等)以及配置(@Configuration)
@Import
- 导入普通的类,例如我们自己写的java类
- 导入实现了ImportSelector接口的类
- 导入实现了ImportBeanDefinitionRegister接口的类
@ComponentScan
- 组件扫描,自动发现并装配一些Bean(扫描并实例化)
- 等同于xml中的
<context:component-scan>