Я пытаюсь создать приложение с начальной загрузкой без JPA / Hibernate (из-за сложной структуры БД, поэтому мне нужно больше контроля над запросами)
У меня возникли некоторые проблемы с получением DataSource для работы, он возвращает только Null вместо DataSource.
Это мои зависимости Pom.xml:
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.2.5</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
Это application.properties:
spring.datasource.url=jdbc:postgresql://localhost:5432/test
spring.datasource.username= postgres
spring.datasource.password = postgres
spring.datasource.driverClassName = org.postgresql.ds.PGSimpleDataSource
spring.datasource.dataSourceClassName = org.postgresql.ds.PGSimpleDataSource
А вот мой класс Connection, возвращающий источник данных:
@Configuration
@PropertySource({"classpath:application.properties"})
public class Conn {
@Bean
@Primary
@ConfigurationProperties(prefix = "spring.datasource")
public DataSource dataSource(){
return DataSourceBuilder.create().build();
}
}
Это мой RequestHandler, где я пытаюсь создать соединение (сейчас ведется запись в журнал, и оно всегда возвращает ноль).
@RestController
public class Test implements ErrorController {
private DataSource ds;
private static final String PATH = "/error";
@RequestMapping("/connectToDb")
public void doSomething() {
ds = new Conn().dataSource();
System.out.println(ds);
}
@Override
public String getErrorPath() {
return PATH;
}
}
Всякий раз, когда я пытаюсь использовать фактический источник данных дляподготовленные утверждения Я получаю сообщение об ошибке:
HikariPool-1 - dataSource or dataSourceClassName or jdbcUrl is required.
Я пытался изменить application.properties, а также пробовал другие методы, но пока ничего не получалось.У похожих постов, которые я обнаружил, было то же сообщение об ошибке, но я до сих пор не нашел решения этой проблемы.
Есть какие-либо комментарии по этому поводу?Благодарю.