2014-11-24 2 views
0

По разным причинам, я закончил использование весенней загрузки 1.2.0 RC2. Так что приложение весенних данных mongo, которое отлично работало весной boot1.1.8, теперь имеет проблемы. Никакой код не был изменен, кроме исправления для загрузки 1.2.0 RC2. Это происходит из-за моментальной версии весеннего облака, перемещающегося к этой версии весенней загрузки.Проблемы с Autowiring с классом в Spring data Mongo repository

Класс хранилища выглядит следующим образом

@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 { ... } 

Это один признается (я определил его как класс реализации в качестве обходного для другой проблемы я имел). Этот класс признан и, кажется, работает нормально.

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

Работает так, как ожидалось, и сообщения сообщают вам, почему. Ваш интерфейс является интерфейсом и не обнаруживается при сканировании компонентов, и он никогда не будет (это не было в предыдущих версиях). Интерфейс один обнаружен Spring Data MongoDB, и поведение добавляется этим. –

+0

Как было указано, единственное отличие в коде заключается в том, что версия загрузки весны изменилась. Перед этим изменением код работал нормально. Посмотрите на его руководство, и вы увидите, что определение хранилища в качестве интерфейса - это принятый способ сделать это. Класс реализации создается весенними данными: http://spring.io/guides/gs/accessing-data-mongodb/ – EvilJinious1

+0

Это то, что я сказал ... Вы используете Spring Boot, также убедитесь, что используете Spring Boot для управления вашими зависимостями используйте стартовые пусковые устройства Spring, чтобы втягивать ваши зависимости (например, 'spring-boot-starter-data-mongodb' в этом случае) и не пытайтесь возиться со своими собственными. Пожалуйста, добавьте своего pom, чтобы увидеть, что (или если) отсутствует/haywire там. –

ответ

0

Попробуйте удалить аннотацию @Repository? Работал for me. Это было проблемой и в Github.

Смежные вопросы