Spring Boot - 自动装配DataSource Bean

时间:2016-05-31 16:19:41

标签: spring spring-boot autowired

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

我的应用程序中的任何地方(在@Configuration文件中f.i.),我在IntelliJ中收到以下错误:

  

"无法自动装配。没有数据源'找到类型。"

是否有一些显而易见的东西让我无法工作?

我有一个DataSource。

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:2)

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

添加@SuppressWarnings以隐藏消息将无需进一步解决问题。