【手记】微服务实践手记(6)
关于springboot的配置还有几点:
1)嵌入系统配置信息
可以在配置文件中引用其它配置的内容,使用${}的方式,这个大家应该不陌生,使用mybatis的时候就用过这样的占位符。
myapplication.name : ${spring.application.name}
还可以动态的获取项目构建过程中的信息,如
info:
app:
encoding: @project.build.sourceEncoding@
java:
source: @java.version@
target: @java.version@
不过我没怎么用过,所以不知道什么场景下用这些比较合适,项目里的配置大部分是有固定值的,如果使用配置中心管理配置,那值是什么就不重要了,可以随时改,有经验的可以留言给大家讲讲~
2)自定义配置
可以在配置文件里写任何东西,只要符合规则就行。比如,写一个小游戏,要求初始化角色有3条命,生命数量还可以更改,就可以把这个内容写到配置文件里,然后在代码中使用,就不需要去改动代码了,这样的使用场景还是挺多的,没什么复杂的,符合规则,不跟默认配置重复即可。
3)读取配置内容
自定义的配置,怎么使用?方法还不少,使用注解就能实现,很简单。
@Value 注解
直接注入,可以增加默认值。
@ConfigurationProperties
通过指定前缀使用配置文件中值,使用的值的名称要跟类中属性名称相同。
可以批量提取配置内容。
Environment
管理当前的应用环境信息,定义了获取 Profile 的方法,同时继承了 PropertyResolver,PropertyResolver 提供了属性访问的相关方法。注入 Environment 的实例,通过 getProperty 就可以获取对应的 Key 的属性值。
配置这玩意吧,经常用的和一些项目中用过的,最好都记在笔记里,不然用的时候再查可麻烦,还不一定准确。面试直接问配置内容的,真有,我就遇到过,说不上具体内容,就知道要配置那些东西。这玩意能记住具体内容,可以体现记性比较好,或者是经常用这个东西,比较熟悉,但就算是经常用的,也不会每次用都手写一遍吧。。。肯定是复制粘贴。。。还好,我也没遇到过几次这样的。
下一篇说说注解,配置的一些概念就这样了,后面会把一些常用的配置梳理一遍。