sql >> Base de Datos >  >> RDS >> PostgreSQL

PSQLException:el servidor solicitó autenticación basada en contraseña, pero no se proporcionó ninguna contraseña

Supongo que no estás inyectando tu bean en el Spring Container, así que usa algo como esto:

@Bean
public DataSource dataSource() {
    String url = "jdbc:postgresql://localhost:5433/<DATABASE_NAME>";

    String username = <USERNAME>;
    String password = <PASSWORD>;

    return DataSourceBuilder
            .create()
            .driverClassName("org.postgresql.Driver")
            .url(url)
            .username(username)
            .password(password)
            .build();
}

Por cierto, en su jdbcUrl necesita usar el nombre de la base de datos, no el nombre de la tabla.

Nota :Creo que es mejor aprovechar el hecho de que Spring Boot ya tiene todo configurado automáticamente, por lo que le sugiero que haga algo como esto:

@Configuration
@ConfigurationProperties(prefix = "spring.datasource.hikari")
public class DatabaseConfig extends HikariConfig {
    @Bean
    public DataSource dataSource() {
        return new HikariDataSource(this);
    }
}

Y usa las siguientes propiedades:

spring.datasource.hikari.jdbcUrl=jdbc:postgresql://localhost:5433/blog
spring.datasource.hikari.username=user
spring.datasource.hikari.password=user
spring.datasource.hikari.driverClassName=org.postgresql.Driver

Puede consultar uno de mis ejemplos de trabajo aquí:https://github.com/vladucuvoican/simple-blog/blob/master/src/main/resources/application.properties