2016-05-31 2 views
5

내가 기본 봄 부팅 응용 프로그램이이 같은 주석 한을 autowiring은 :봄 부트는 데이터 소스 콩

@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 

을 이러한 프로퍼티로부터 DataSource Bean를 자동적으로 autowire 할 수 있어야합니다.

나는 시도하지 그러나 경우 :

내 응용 프로그램 (@Configuration 파일의 FI) 어디서나
@Autowired 
DataSource dataSource; 

, 나는 다음과 같은 얻을 오류 인 IntelliJ에서 :

"autowire하기 수 없습니다 없음 콩. '데이터 소스'유형을 찾았습니다. "

내가 제대로 작동하지 않는 이유가 있습니까?

저는 하나의 데이터 소스를 가지고 있습니다.

+0

@EnableAutoConfiguration도 주 클래스 위에 추가해야합니다. –

+2

'@ SpringBootApplication'도'@ EnableAutoConfiguration'을 추가합니다. 수동으로 추가하려고했지만 오류가 해결되지 않았습니다. – vtosh

+0

그런 경우, 봄 부팅을위한 디버그 수준 로그를 활성화하고 DataSource 빈이 어떻게되는지 확인하십시오. –

답변

1

빈은 실제로 실제로 올바르게 초기화됩니다. 이것은 아마도 IntelliJ 툴팁 버그 일뿐입니다.

@SuppressWarnings을 추가하면 메시지를 숨길 수 있으므로 문제없이 작동합니다.

+0

이 맞습니다. 똑같은 문제가있었습니다. IntelliJ IDEA 2017.1.3 Build # IU-171.4424.56 에서조차 2017 년 5 월 12 일에 구축되었습니다. IntelliJ가 충돌에 대해 경고하더라도 콩은 올바르게 연결됩니다. – DevDio

2

Intelij는 분명히 2016.2에서도 여전히 @SpringBootApplication 주석을 지원하지 않습니다. @SpringBootApplication 주석을 제거하고 @Configuration, @EnableAutoConfiguration 및 @ComponentScan 주석으로 대체하거나 오류를 무시해야합니다.