Springboot在不同的模块配置多个properties的方法
1.问题描述
在我们使用Springboot的时候,有时想:
- 在开发阶段和部署阶段使用不同的配置
- 一个底层module(如dal层)的配置被多个上层应用重复使用
如何实现呢?
2.实现
-
创建文件
在顶层应用(一般为web,下图中为uop子模块),定义application.properties这一配置文件;在dal层定义application-NAME.properties这一配置文件,其中NAME后面需要使用,如取名为userMysql(文件名变为application-userMysql.properties),其中放MyBatis相关的配置信息。如,
# MyBatis # mysql spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/User?useUnicode=true&characterEncoding=utf8 spring.datasource.username=root spring.datasource.password=song mybatis.typeAliasesPackage=cn.neyzoter.aiot.dal.domain.user mybatis.mapperLocations=classpath:mapper/*.xml
另外可以把mapper配置文件,放到mapper文件中。
-
配置application.properties
在application.properties中配置激活dal中的application-userMysql.properties,
spring.profiles.active=userMysql
可以输入多个配置文件名,用逗号隔开,另外userMysql即application-userMysql.properties中的userMysql(NAME)
此后,可以实现运行顶层应用(上图中的uop子模块),application.properties会激活dal模块中的application-userMysql.properties。
3.项目参考地址
欢迎关注我的微信公众号
互联网矿工