मेरा अनुमान है कि आप अपने बीन को स्प्रिंग कंटेनर में इंजेक्ट नहीं कर रहे हैं, इसलिए कुछ इस तरह का उपयोग करें:
@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();
}
अपने jdbcUrl में बीटीडब्ल्यू आपको डेटाबेसनाम का उपयोग करने की आवश्यकता है, न कि टेबलनाम का।
नोट :मुझे लगता है कि स्प्रिंग बूट में पहले से ही सब कुछ ऑटो-कॉन्फ़िगर करने का लाभ उठाना बेहतर है, इसलिए मैं आपको कुछ ऐसा करने का सुझाव देता हूं:
@Configuration
@ConfigurationProperties(prefix = "spring.datasource.hikari")
public class DatabaseConfig extends HikariConfig {
@Bean
public DataSource dataSource() {
return new HikariDataSource(this);
}
}
और निम्न गुणों का उपयोग करें:
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
आप मेरे काम करने के उदाहरणों में से एक को यहां देख सकते हैं:https://github.com/vladucuvoican/simple-blog/blob/master/src/main/resources/application.properties