BAEL-923 How to inject a value from properties to a class not managed by Spring? (#1878)

* adam.zawada@gmail.com - Different Types of Bean Injection in Spring

* adam.zawada@gmail.com - Different Types of Bean Injection in Spring
switch to Java based configuration

* BAEL-895 calculate the period/duration between two dates in Java 8

* clean old PR

* BAEL-923 How to inject a value from properties to a class not managed by Spring?

* clean PR
This commit is contained in:
adasioo 2017-05-19 09:10:21 +02:00 committed by maibin
parent e338d3eb0e
commit e09ba8e3c2
3 changed files with 57 additions and 0 deletions

View File

@ -0,0 +1,19 @@
package com.baeldung.util;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
public class PropertiesLoader {
public static Properties loadProperties(String resourceFileName) throws IOException {
Properties configuration = new Properties();
InputStream inputStream = PropertiesLoader.class
.getClassLoader()
.getResourceAsStream(resourceFileName);
configuration.load(inputStream);
inputStream.close();
return configuration;
}
}

View File

@ -0,0 +1,34 @@
package com.baeldung.util;
import org.junit.Test;
import java.io.IOException;
import java.util.Properties;
import static org.junit.Assert.assertEquals;
public class PropertiesLoaderTest {
@Test
public void loadProperties_whenPropertyReaded_thenSuccess() throws IOException {
//given
final String RESOURCE_FILE_NAME = "configuration.properties";
final String SAMPLE_CONF_ENTRY = "sampleConfEntry";
final String COLON_SEPARATED_CONF_ENTRY = "colonSeparatedEntry";
final String GIVEN_CONF_ENTRY_VALUE = "sample String value";
final String COLON_SEPARATED_CONF_ENTRY_VALUE = "colon separated entry value";
//when
Properties config = PropertiesLoader.loadProperties(RESOURCE_FILE_NAME);
String sampleConfEntryValue = config.getProperty(SAMPLE_CONF_ENTRY);
String colonSeparatedConfEntryValue = config.getProperty(COLON_SEPARATED_CONF_ENTRY);
//then
assertEquals(GIVEN_CONF_ENTRY_VALUE, sampleConfEntryValue);
assertEquals(COLON_SEPARATED_CONF_ENTRY_VALUE, colonSeparatedConfEntryValue);
}
}

View File

@ -0,0 +1,4 @@
# this is sample property file for PropertiesLoaderTest configuration needs
! this is also a comment
sampleConfEntry = sample String value
colonSeparatedEntry : colon separated entry value