BAEL-2719: Spring Boot - Properties file outside jar

This commit is contained in:
PranayJain 2019-02-27 15:00:02 +05:30
parent 6bae0fc28a
commit 3fe623dcab
3 changed files with 46 additions and 0 deletions

View File

@ -0,0 +1,17 @@
package com.baeldung.properties;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.core.env.ConfigurableEnvironment;
@SpringBootApplication
public class ExternalPropertyFileLoader {
public static void main(String[] args) {
ConfigurableApplicationContext applicationContext = new SpringApplicationBuilder(ExternalPropertyFileLoader.class).properties("spring.config.name:conf", "spring.config.location:file:src/main/resources/external/")
.build()
.run(args);
ConfigurableEnvironment environment = applicationContext.getEnvironment();
environment.getProperty("username");
}
}

View File

@ -0,0 +1,4 @@
url=jdbc:postgresql://localhost:5432/
username=admin
password=root
spring.main.allow-bean-definition-overriding=true

View File

@ -0,0 +1,25 @@
package com.baeldung.properties;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.core.env.ConfigurableEnvironment;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@RunWith(SpringJUnit4ClassRunner.class)
public class ExternalPropertyFileLoaderUnitTest {
@Test
public void whenExternalisedPropertiesLoaded_thenReadValues() {
ConfigurableApplicationContext applicationContext = new SpringApplicationBuilder(ExternalPropertyFileLoader.class).properties("spring.config.name:conf", "spring.config.location:file:src/main/resources/external/")
.build()
.run();
ConfigurableEnvironment environment = applicationContext.getEnvironment();
Assert.assertEquals(environment.getProperty("url"), "jdbc:postgresql://localhost:5432/");
Assert.assertEquals(environment.getProperty("username"), "admin");
Assert.assertEquals(environment.getProperty("password"), "root");
}
}