## 配置详解 * 可以在任何Component中注入application.properties中的属性内容,格式为 ``` @Value("${全名称}") ``` * 如果想在编辑配置文件时有提示内容,可以在pom.xml中增加此依赖 ``` org.springframework.boot spring-boot-configuration-processor true ``` * 默认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]} ```