我在application.properties文件中编写了数据库的url,username等。我还在控制器中为JdbcTemplate定义了@Autowired
注释。但是现在当我执行时,我得到了这个错误 -
申请失败
说明
com.sab.Controller中的字段jdbc需要一个无法找到的类型为'org.springframework.jdbc.core.JdbcTemplate'的bean。 - Bean方法'jdbcTemplate'未加载,因为@ConditionalOnSingleCandidate(类型:javax.sql.DataSource; SearchStrategy:all)没有找到任何bean
动作:
考虑重新审视上述条件或在配置中定义类型org.springframework.jdbc.core.JdbcTemplate
的bean。
任何人都可以帮我解决此错误。
答案 0 :(得分:1)
您需要定义类型为JdbcTemplate
的Spring bean。您可以通过向Spring Boot应用程序类添加@Bean
方法来创建并返回JdbcTemplate
。例如:
@SpringBootApplication
public class ExampleApplication {
@Bean
public JdbcTemplate jdbcTemplate(DataSource dataSource) {
return new JdbcTemplate(dataSource);
}
public static void main(String[] args) {
SpringApplication.run(ExampleApplication.class, args);
}
}
此外,如果您还没有这样做,则必须将数据库连接的属性添加到文件src/main/resources/application.properties
。 Spring Boot使用它们来创建DataSource
bean。例如(您需要在此处输入适当的值;这是使用H2内存数据库的示例):
spring.datasource.url=jdbc:h2:mem:demo
spring.datasource.username=sa
spring.datasource.password=
spring.datasource.driver-class-name=org.h2.Driver
最后,您需要确保依赖pom.xml
中相应的数据库驱动程序。例如(对于H2数据库),您需要在dependencies
的{{1}}部分中显示此内容:
pom.xml