Skip to content

Cheatsheet SPRING

Quiero poder cargar un archivo .properties

Aunque por defecto Spring Boot te carga el application.properties que está en la carpeta resources, podemos querer cargar otro o tener que trabajar con Spring sin el Boot.

Entonces, qué pasa si en cualquiera de estos dos casos quiero meter una propiedad de la forma:

@Value(${prop.hostname})
private String hostname;

Siendo prop.hostname una propiedad que hemos metido en el fichero: myprops.properties.

Pues anotamos la clase donde queremos usar el @Value con:

@PropertySource("classpath:myprops.properties")

Notar que el classpath contiene directamente la estructura de resources, por lo que si tenemos:

resources/props.properties -> classpath:props.properties

resources/db/props.properties -> classpath:db/props.properties

Quiero arrancar desde CLI una aplicación especificando el puerto

mvn spring-boot:run -Dspring-boot.run.arguments#--server.port#${EL_PUERTO}