1.
springboot的项目,大部分时候就是在搞配置,不论是配置文件里的内容,还是配置类,还是注解,这些玩意在写业务功能前就可以准备好。
今天就说说配置:
1)配置文件
通过idea创建的项目默认配置文件名称是:
application.properties
这个格式的文件,大家应该都熟悉,里面使用键值对的方式来定义配置,这在刚接触springboot配置文件的时候,你可能会觉得很舒服,因为在使用spring,再早点在Javaweb阶段,就用过.properties类型文件来声明数据源配置内容。
但是官方推荐的配置文件格式是这样的:
application.yml
这个文件里的配置是有层级的,而这个层级规则很严格,写错了,就报错或者不能运行,一开始用的时候很苦恼啊,但是!马上就有人搞出了好东西:
properties和yml在线转换
https://www.bejson.com/devtools/properties2yaml/
这类工具不少,我这里随便贴一个,这才是编程师干的事:用程序解决问题!
常见配置文件命名
/{application}.yml /{application}-{profile}.yml /{label}/{application}-{profile}.yml /{application}-{profile}.properties /{label}/{application}-{profile}.properties
2)默认配置
springboot配置确实很多!我以前给学生发过一个文档,里面专门列出过这些配置,大家有兴趣的可以私聊我要。
但简单的项目,默认配置就够了,最简单的配置一个数据源,项目就能跑。
这里不一个个说明了,举个例子:
tomcat默认端口号的配置是8080,如果要改就需要在配置里面修改啦~
3)运行环境
一般有生产、开发、测试、通用。环境的意思就是说,在不同的使用场合下,项目的配置不同,比如线上生产环境的IP地址跟本地开发环境使用的肯定不同。这样做的好处是,在环境变化时,不需要去改变配置内容,只要指定对应的配置文件即可,坏处也很明显啦,需要维护的配置文件变多了,以前是1个,现在是4个。
解释一下这些环境配置文件:
通用:一些在任何环境中都不变的配置写在这里,这也是主配置文件,在这里指定其它环境的配置文件
生产:上线之后项目的配置写在这里
开发:开发时期项目的配置写在这里
测试:测试时期项目的配置写在这里
环境文件切换是基本功,也不难,可以指定一个,也可以指定多个。
比如:
spring: profiles: active: test
spring.profiles.active: prod, myprofile1, myprofile2还可以在项目启动时,通过命令指定配置文件,这种实现方案在通过脚本进行自动化打包和部署的场景下非常有用:
java –jar customerservice-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod