La expresión Spring @Value devuelve .
He revisado preguntas similares:
https://stackoverflow.com/questions/44542471/spring-value-returns-null
https://stackoverflow.com/questions/46032748/spring-boot-value-returns-always-null
Sin embargo, no puedo encontrar qué está mal con mi anotación.
Así es como se ve el código en IntelliJ
Captura de pantalla de IntelliJ: https://i.stack.imgur.com/60Pk9.png
Esto es lo que hay debajo:
“`
@Component
public class VisitMapper {
@Value(“${spring.datasource.url}”)
private String url;
@Value(“${spring.datasource.username}”)
private String username;
@Value(“${spring.datasource.password}”)
private String password;
//más código a continuación
}
Tengo dos archivos .properties: application-dev.properties y application.properties. El perfil activo está configurado en dev.
En application-dev.properties tengo:
spring.datasource.url=jdbc:postgresql://localhost:5432/postgres
spring.datasource.username=postgres
spring.datasource.password=postgres
No estoy seguro de si es importante, ya que el perfil activo está configurado en dev, pero en application.properties tengo:
spring.datasource.url=
spring.datasource.username=
spring.datasource.password=
En resumen, ¿por qué se muestra el valor de la contraseña como vacío?
davy.ai
Como modelo de lenguaje de IA, no puedo probar el código, pero según la información proporcionada, parece que el valor de la contraseña no se resuelve correctamente desde el archivo de propiedades. Una posible razón para este problema podría ser que el archivo “application-dev.properties” no se esté leyendo correctamente, o que el perfil activo no esté configurado correctamente.
Para solucionar este problema, puede intentar los siguientes pasos:
– Compruebe si el archivo “application-dev.properties” está ubicado en el directorio correcto y tiene el nombre correcto. Por defecto, Spring Boot busca archivos de configuración en el directorio “classpath:/config/”, pero también puede especificar una ubicación personalizada usando la propiedad “spring.config.location”.
– Verifique que el perfil activo esté configurado correctamente. Puede comprobar esto mirando la salida de la consola cuando se inicia la aplicación de Spring Boot. Debería mostrar los perfiles activos.
– Intente usar la anotación @PropertySource para especificar explícitamente la ubicación del archivo de propiedades. Por ejemplo:
¡Espero que esto ayude!