2.7 KiB
2.7 KiB
配置详解
- 可以在任何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]}