Quiero cargar archivos de propiedades en código Java. Pero uso el perfil para configurar -Dspring.profiles.active=local o dev... Cómo cargar archivos de propiedades por perfil Algo como esto:
classpath:${spring.profiles.active}/test.properties¿Cómo hacer eso en código Java? Hice lo siguiente, pero obtuve nulo.
Properties prop = new Properties(); InputStream iStream = Helper.class.getClassLoader().getResourceAsStream("test.properties"); try { prop.load(iStream); } catch (IOException e) { LOG.error(e.getMessage(), e); } finally { try { iStream.close(); } catch (IOException e) { LOG.error(e.getMessage(), e); } }Este es un código de trabajo para nosotros:
String activeProfile = System.getProperty("spring.profiles.active"); InputStream workSpacesFIS = this.getClass().getClassLoader() .getResourceAsStream(activeProfile + "/customers.txt"); if (workSpacesFIS != null) { ...Carga de archivos de propiedades de Java por perfil
public Properties getProp() throws IOException { final Properties prop = new Properties(); prop.load(TestService.class.getResourceAsStream("/application.properties")); String activeProfile = prop.getProperty("spring.profiles.active"); prop.load(TestService.class.getResourceAsStream("/application-"+activeProfile+".properties")); return prop; }