首页 文章

Spring Boot - 自动装配DataSource Bean

提问于
浏览
5

我有一个基本的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 回答

  • 2

    Intelij显然即使在2016.2仍然不支持@SpringBootApplication注释 . 您必须删除@SpringBootApplication批注并将其替换为@Configuration,@ EnableAutoConfiguration和@ComponentScan批注,或者忽略错误 .

  • 2

    该bean实际上已正确初始化 . 这可能只是一个IntelliJ工具提示错误 .

    添加@SuppressWarnings以隐藏消息将无需进一步的问题 .

相关问题