微服务1 Spring Boot中属性配置
Spring Boot中属性配置文件默认为src/main/resources中的application.properties/yml,这里可以配置容器的端口号,数据库连接,服务名,日志信息等各种配置信息。
1. 基本属性配置
1) Application.properties文件中指定应用的端口号和应用名。
图一
注意:上面的注释有错,端口号为8080
2) 用上面指定的端口号访问该应用
图二
当没有配置端口号server.port时,默认的端口号为8080。
3) 应用名在后续的Spring Cloud中会被注册为服务名。
2. 自定义属性配置
1) 在src/main/java中创建com.dhc.entity(包名可自定),并在该包中创建类Book
图三
注意:所有属性要创建其getter和setter方法。
使用注解@Value加载属性值,其中${}中的内容为属性名,自己设定。
使用注解@Component将类实例化到Spring容器中。
2) 在application.properties文件中配置我们自定义的属性
图四
属性book.dec的值通过以${属性名}的方式调用book.name和book.author的参数值。
3) 在HelloController中测试我们设置的自定义属性值。
图五
4) 浏览器输入地址http://localhost:8080/hello,回到控制台,我们会看到控制台打印出book.dec信息。
图六
由于控制台打印的信息比较多,一般我们不用这种方法测试,而是使用日志输出,后面的章节中再做介绍。
3. 使用application.yml文件配置属性
Yml文件以阶梯化缩进的方式配置,结构清晰易读,且字符明显减少。
图七
其与图一的配置等价。
注意:
a) yml文件中属性值和前面的冒号之间必须有一个空格。
b) yml文件和properties文件中的注释都是用“#”,并且都只能是单行注释。
4. 使用随机数配置属性
在一些特殊情况下,我们希望有些参数每次被加载的不一样,此时我们可以采用随机数来生成。
图八
5. 命令行属性配置
除了在application.properties/yml文件中配置属性,还可以在通过命令行启动的时候配置(参见Spring Boot入门中的三种启动方式),
图九
连续的两个—就是对application.properties的属性进行赋值的标识。
6. 多环境配置
a) 在src/main/resources中创建不同环境中的配置文件,其配置同applicaition.properties。
图十
application_dev:开发环境
application_test:测试环境
application_prod:生产环境
b) 在application.properties中通过spring.profiles.active配置来设置具体加载以上哪一种配置文件。
图十一