我有一个基本的Spring Boot应用程序,注释如下:
@SpringBootApplication
public class ApiApplication {
public static void main(String[] args) {
SpringApplication.run(ApiApplication.class, args);
}
}
我在 application.properties
文件中有以下条目:
spring.datasource.driver-class-name=org.postgresql.Driver
spring.datasource.url=jdbc:postgresql://localhost:5432/db
spring.datasource.username=dbuser
spring.datasource.password=dbpassword
根据我的理解,Spring Boot应该能够从这些属性自动自动装配DataSource Bean .
但是,如果我尝试:
@Autowired
DataSource dataSource;
在我的应用程序的任何地方(f.i.在@Configuration文件中),我在IntelliJ中收到以下错误:
“无法自动装配 . 没有找到'DataSource'类型的 beans 子 . ”
是否有一些显而易见的东西让我无法工作?
我有一个DataSource .
2 回答
Intelij显然即使在2016.2仍然不支持@SpringBootApplication注释 . 您必须删除@SpringBootApplication批注并将其替换为@Configuration,@ EnableAutoConfiguration和@ComponentScan批注,或者忽略错误 .
该bean实际上已正确初始化 . 这可能只是一个IntelliJ工具提示错误 .
添加@SuppressWarnings以隐藏消息将无需进一步的问题 .