本文轉(zhuǎn)載自:https://www.datawisher.cn/
使用spring profile
一般情況波桩,我們會在項目中建多個application.yml哮幢。例如application.yml梭冠,application-dev.yml浙踢,application-test等达舒。通過在application.yml文件中配置profile使用哪個瞎访,不設(shè)置的話會默認使用默認配置腻贰。例如:
spring:
profiles:
active: dev
上面這個配置會使得application-dev.yml生效。
當然扒秸,也可以將多個配置文件都寫在一個application.yml中播演,只需要用---
隔開。
那么如何使用maven的profile來控制spring的profile呢伴奥?
使用maven的profile來控制spring的profile
-
在項目主pom文件中增加profile配置
<!-- Maven控制Spring Profile --> <profiles> <!--開發(fā)配置--> <profile> <id>dev</id> <!-- 默認激活dev --> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <profileActive>dev</profileActive> </properties> <build> <!-- 產(chǎn)生的構(gòu)件的文件名写烤,默認值是${artifactId}-${version}--> <finalName>${project.artifactId}-dev-${project.version}</finalName> </build> </profile> <!--測試配置--> <profile> <id>test</id> <properties> <profileActive>test</profileActive> </properties> <build> <!-- 產(chǎn)生的構(gòu)件的文件名--> <finalName>${project.artifactId}-test-${project.version}</finalName> </build> </profile> <!--生產(chǎn)配置--> <profile> <id>prod</id> <properties> <profileActive>prod</profileActive> </properties> <build> <!-- 產(chǎn)生的構(gòu)件的文件名--> <finalName>${project.artifactId}-${project.version}</finalName> </build> </profile> </profiles> <build> <!-- profile對資源的操作 --> <resources> <resource> <directory>src/main/resources</directory> <excludes> <exclude>application*.yml</exclude> </excludes> </resource> <resource> <directory>src/main/resources</directory> <!-- 是否替換@xx@表示的maven properties屬性值 --> <filtering>true</filtering> <includes> <include>application.yml</include> <include>application-${profileActive}.yml</include> </includes> </resource> </resources> </build>
-
application.yml 配置
spring: profiles: active: @profileActive@
-
如果使用IDEA來開發(fā)的話,會在maven窗口欄看到多出了一個Profiles選項
選中不同的profile進行快速切換拾徙,然后啟動應(yīng)用洲炊,非常方便。