Я пытаюсь создать bean-компонент JdbcTemplate следующим образом:
@Configuration
public class ServiceBeanConfiguration {
@Bean
public JdbcTemplate jdbcTemplate() {
DriverManagerDataSource driverManagerDataSource = new DriverManagerDataSource();
driverManagerDataSource.setDriverClassName("org.postgresql.Driver");
driverManagerDataSource.setUrl("jdbc:postgresql://localhost:5432/sp");
driverManagerDataSource.setUsername("posthres");
driverManagerDataSource.setPassword("password");
DataSource dataSource = driverManagerDataSource;
JdbcTemplate jdbcTemplate = new JdbcTemplate();
jdbcTemplate.setDataSource(dataSource);
return jdbcTemplate;
}
Я автоматически подключаю этот @Bean к своему классу обслуживания. Но в результате получаю ошибку:
**************************
APPLICATION FAILED TO START
***************************
Description:
Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.
Reason: Failed to determine a suitable driver class
Action:
Consider the following:
If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.
If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active).
Это приложение Springboot?
Я использую gradle, и у меня есть: compile group: 'org.postgresql', имя: 'postgresql', версия: '42 .2.4 '. Да, это приложение sprigboot
Попробуйте установить источник данных в файле .property и проверьте
Человек, спасибо тебе большое. Это помогло.
Но теперь я, когда контроллер должен запустить запрос и вернуть его. у меня есть
Вы можете разместить здесь свой файл .properties? И подробнее о своем новом выпуске?




Создайте application.properties и поместите туда свойства spring.datasource.
spring.datasource.url=jdbc:postgresql://localhost:5432/sp
spring.datasource.username=postgres
spring.datasource.password=password
Удалите ваш ServiceBeanConfiguration и перезапустите приложение.
Spring Boot автоматически настроит DataSource и JdbcTemplate за вас.
Вы должны добавить зависимость базы данных в свой pom.xml.
Причина: не удалось определить подходящий класс драйвера.
Добавьте свою зависимость postgre или базу данных в памяти:
<dependency>
<groupId>postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.1-901-1.jdbc4</version>
</dependency>
Если вы выберете использование базы данных postgre, создавать @bean нет необходимости. Создайте свойства приложения, как написал М. Дейнум.
spring.datasource.url=jdbc:postgresql://localhost:5432/sp
spring.datasource.username=postgres
spring.datasource.password=password
Если вы выберете вариант «В базе данных в памяти» Application.properties не потребуется (загрузка Spring настроит все за вас) -> не используйте этот подход в производственной среде.
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.197</version>
<scope>test</scope>
у вас есть зависимость PostgreSQL в pom.xml?