在前面的章节中,我们已经学习了如何去用不同的方式去打包我们的应用和如何部署。下一步,我们需要配置我们的应用在可控制的范围还有就是环境特殊的配置参数。
这一章节,我们基于前面的章节,添加支持不同配置的文件,同时测试如何使用适当的参数作为点位符在其它适应的声明中,并且如何添加我们的PropertySource应用。
6.4.1如何使用
- 我们需要在src/main/java/org/owen/bookpub目录下的BookPubApplication.java中加入@Profile注解。
@Bean @Profile("logger") public StartupRunner schedulerRunner() {
return new StartupRunner(); } |
- 启动应用
- 一旦应用启动了,我们不可能看到先前的日志输出,如下:
2020-04-19 --- org.test.bookpub.StartupRunner : Number of
books: 1
- 现在,我们执行./gradle clean bootRepackage 和 启动应用 ./build/libs/bookpub-0.0.1-SNAPSHOT-exec.jar –spring.profiles.active=logger 和我们将会看到先前的那行日志输出了。
- 还有一种运行是通过Profile选择器能够添加Profile特殊的属性文件。让我们创建application-inmemorydb.properties文件放置到src/main/resource目录下,添加内容如下:
spring.datasource.url =
jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE
- 让我们创建应用./gradle clean bootRepackage 和使用命令启动,./build/libs/bookpub-0.0.1-SNAPSHOT-exe.jar –spring.profiles.active=logger,inmemorydb,这样的话,我们就是使用inmemorydb的Profile配置目的是为了使用in-memory数据库取代file-base.
在这个例子中,我们已经使用了一个特定的配置系统,Spring Boot提供我们可以通过PropertySource应用去整合这个应用。
让我们想象,我们已经有一个配置启动和使用Apache Commons Configuration框架和储蓄配置数据在XML文件中。
- 在build.gradle文件中加入以下的配置:
dependencies {
|
- 在src/main/resource目录下他去简单的commons-config.xml的文件,内容如下:
<?xml version="1.0" encoding="ISO-8859-1" ?> |