springboot笔记
搭建环境工具
sts,右击,选中Web,DevTools
配置文件
springboot中,哪些参数可以进行自定义配置,配置参数是什么,在application.properties配置文件中,自定义参数的格式什么样的,我们可以参考spring-boot-autoconfigure-2.0.3.RELEASE.jar。以配置数据源为例子:
@ConfigurationProperties(prefix = "spring.datasource")
public class DataSourceProperties implements BeanClassLoaderAware, InitializingBean {
private String driverClassName;
/**
* JDBC URL of the database.
*/
private String url;
/**
* Login username of the database.
*/
private String username;
/**
* Login password of the database.
*/
private String password;
}
我们在application.properties配置文件中,以spring.datasource作为key的前缀,我们配置参数时,key为 spring.datasource.url=
-
置文件的生效顺序,会对值进行覆盖:
- @TestPropertySource 注解
- 命令行参数
- Java系统属性(System.getProperties())
- 操作系统环境变量
- 只有在random.*里包含的属性会产生一个RandomValuePropertySource
- 在打包的jar外的应用程序配置文件(application.properties,包含YAML和profile变量)
- 在打包的jar内的应用程序配置文件(application.properties,包含YAML和profile变量)
- 在@Configuration类上的@PropertySource注解
- 默认属性(使用SpringApplication.setDefaultProperties指定 application.properties)
-
配置随机值
- roncoo.secret=${random.value}
- roncoo.number=${random.int}
- roncoo.bignumber=${random.long}
- roncoo.number.less.than.ten=${random.int(10)}
- roncoo.number.in.range=${random.int[1024,65536]}
读取使用注解:@Value(value = "${roncoo.secret}") 注:出现黄点提示,是要提示配置元数据,可以不配置
-
属性占位符
当application.properties里的值被使用时,它们会被存在的Environment过滤,所以你能够引用先前定义的值(比如,系统属性)。
roncoo.name=www.roncoo.com