2014-11-24 2 views
0

여러 가지 이유로 스프링 부트 1.2.0 RC2를 사용했다. 그래서 spring boot1.1.8에서 잘 작동하는 스프링 데이터 몽고 애플리케이션은 현재 문제가 있습니다. 스프링 부트 1.2.0 RC2에 대한 범프를 제외하고 코드가 변경되지 않았습니다. 이것은 봄철 버전의 스냅 샷 버전 인 스프링 클라우드 때문입니다. 이 버전의 범프 전에 꽤 잘 작동Spring 데이터의 클래스에 대한 Autowiring 문제 Mongo 저장소

@Repository 
public interface OAuth2AccessTokenRepository extends MongoRepository<OAuth2AuthenticationAccessToken, String> { 

    public OAuth2AuthenticationAccessToken findByTokenId(String tokenId); 

    public OAuth2AuthenticationAccessToken findByRefreshToken(String refreshToken); 

    public OAuth2AuthenticationAccessToken findByAuthenticationId(String authenticationId); 

    public List<OAuth2AuthenticationAccessToken> findByClientIdAndUserName(String clientId, String userName); 

    public List<OAuth2AuthenticationAccessToken> findByClientId(String clientId); 
} 

다음과 지금은 로그에서 볼로

저장소 클래스입니다.

19:04:35.510 [main] DEBUG o.s.c.a.ClassPathBeanDefinitionScanner - Ignored because not a concrete top-level class: file [/Users/larrymitchell/rpilprojects/corerpilservicescomponents/channelMap/target/classes/com/cisco/services/rpil/mongo/repository/oauth2/OAuth2AccessTokenRepository.class] 

내가 인식 다른 몽고 저장소를 할 수 있지만이 하나 (내가 또 다른 문제에 대한 해결 방법으로 구현 클래스로 정의 인식

@Component 
public class ChannelMapRepository { ... } 

클래스 구현으로 정의 I 했다). 이 클래스는 인정되어 잘 작동하는 것 같습니다.

19:04:35.513 [main] DEBUG o.s.c.a.ClassPathBeanDefinitionScanner - Identified candidate component class: file [/Users/larrymitchell/rpilprojects/corerpilservicescomponents/channelMap/target/classes/com/cisco/services/rpil/services/Microservice.class] 

누구나 이유가 있습니까? 구성 요소 검색이 작동하지 않는 이유에 대한 여러 가지 이유를 들여다 보았습니다.

+0

예상대로 작동하며 메시지가 원인을 알려줍니다. 인터페이스는 인터페이스이며 구성 요소 검색으로는 감지되지 않으며 이전 버전에서는 없었습니다. 인터페이스 1은 Spring Data MongoDB에 의해 감지되고 동작은 그것에 의해 추가됩니다. –

+0

명시된 바와 같이, 코드의 유일한 차이점은 스프링 부트의 버전이 변경된다는 것입니다. 코드가 변경되기 전에 정상적으로 작동했습니다. 그의 가이드를 보면 저장소를 인터페이스로 정의하는 것이 허용 된 방법이라는 것을 알 수 있습니다. 구현 클래스는 스프링 데이터로 생성됩니다. http://spring.io/guides/gs/accessing-data-mongodb/ – EvilJinious1

+0

내가 말한 것은 ... 당신은 스프링 부트를 사용하고 있으므로 스프링 부트를 사용하고 있는지 확인하십시오 종속성을 관리하려면 Spring Boot 스타터를 사용하여 종속성을 끌어 내십시오 (예 :이 경우에는 'spring-boot-startter-data-mongodb'). pom을 추가하여 거기에 무엇이 빠졌는지 (또는 없는지) 확인하십시오. –

답변

0

@Repository 주석을 삭제 해보세요. 근무한 for me. 이것은 Github의 문제이기도합니다.

관련 문제