78 lines
2.7 KiB
Markdown
78 lines
2.7 KiB
Markdown
## 配置详解
|
||
* 可以在任何Component中注入application.properties中的属性内容,格式为
|
||
```
|
||
@Value("${全名称}")
|
||
```
|
||
|
||
* 如果想在编辑配置文件时有提示内容,可以在pom.xml中增加此依赖
|
||
```
|
||
<dependency>
|
||
<groupId>org.springframework.boot</groupId>
|
||
<artifactId>spring-boot-configuration-processor</artifactId>
|
||
<optional>true</optional>
|
||
</dependency>
|
||
```
|
||
|
||
* 默认application.properties文件中增加属性内容后,注入到实体类,可以新建java类,通过下面的注解进行注入
|
||
```
|
||
// 声明该类为组件类,spring会自动注入到ApplicationContext中
|
||
@Component
|
||
// 声明当前类通过config文件注入属性,prefix为前缀为指定内容的属性会按照名称自动注入到类属性中
|
||
@ConfigurationProperties(prefix = "snapswitch")
|
||
```
|
||
|
||
* 自定义配置文件
|
||
* 如果不想将所有配置都放在application.propeties中,可以自定义自己的配置文件,然后通过下面的注解,将类和属性文件关联
|
||
```
|
||
@Component
|
||
@PropertySource("classpath:map.properties")
|
||
@ConfigurationProperties(prefix = "map")
|
||
```
|
||
|
||
* 可以在application.properties中配置当前环境名称,这样程序在读取配置时,会根据配置的环境名称自动读取对应的配置
|
||
```
|
||
# 当前使用环境,程序启动后会自动读取application-dev.properties的配置
|
||
# 如果默认配置和dev配置存在相同的配置,则以dev为准
|
||
# 如果dev存在而默认不环境存在,则以dev环境配置为准
|
||
# 如果默认环境存在而dev环境不存在,则以默认环境配置为准
|
||
spring.profiles.active=dev
|
||
```
|
||
|
||
* 命令行打包程序,启动程序,指定参数启动
|
||
* 打包命令,进入项目目录后,执行
|
||
```
|
||
mvn clean install
|
||
mvn package
|
||
```
|
||
* 启动打包的jar
|
||
|
||
打包后的jar包会生成在target中,最终的jar文件就是可执行程序,在该jar文件所在目录执行
|
||
```
|
||
java -jar
|
||
jar文件名 例如:chapter2-0.0.1-SNAPSHOT.jar
|
||
[--参数 例如:--spring.profiles.active=test --my1.age=32]
|
||
```
|
||
|
||
## 非常用参数
|
||
|
||
* 如果在配置文件中引用另外一个配置文件的值,也可以通过${参数名}的方式引用
|
||
```
|
||
app.name = appName
|
||
app.newName = ${app.name}V1.0
|
||
```
|
||
此时app.newName的值即为appNameV1.0
|
||
|
||
* 如果需要在配置文件中使用随机数,可以通过此方式生成
|
||
```
|
||
# 随机字符串
|
||
com.didispace.blog.value=${random.value}
|
||
# 随机int
|
||
com.didispace.blog.number=${random.int}
|
||
# 随机long
|
||
com.didispace.blog.bignumber=${random.long}
|
||
# 10以内的随机数
|
||
com.didispace.blog.test1=${random.int(10)}
|
||
# 10-20的随机数
|
||
com.didispace.blog.test2=${random.int[10,20]}
|
||
```
|