2015-10-14 2 views
0

У меня есть класс с элементом данных с свойством интерфейса без реализации, Как я могу определить это свойство?Spring определить свойство интерфейса без реализации

Я попытался с @Autowired, но когда я запускаю его в JUnit - это выбросить исключение:

org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [bean name] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)} 

//my class is : 
@Service 
@Component(value="someClass") 
@Transactional 
public class someClass implements SomeService, InitializingBean { 
    @Autowired 
    private SomeInterface someInterface ; 
} 

//and the interface with no implementation: 
public interface SomeInterface extends CrudRepository<AAA, String> { 
} 
+1

Вы должны настроить или создать компонент. Можете ли вы показать еще несколько кодов. – Patrick

+0

Я приложил свой код выше – riv

ответ

0

вы сказали Spring о вашем хранилище? Весной ботинке я хотел бы сделать это:

//and the interface with no implementation: 
@Repository 
@Qualifier(value = "someInterface") //Should this not be someOtherRepository ??? 
public interface SomeInterface extends someRepository<AAA, String> { 
} 

Если SomeInterface является хранилищем, который расширяет другой Repository интерфейс, который вы определили, я думаю, вы должны аннотировать промежуточное хранилище с @NoRepositoryBean. По крайней мере, в весеннем ботинке см. Документацию здесь Example 7. Selectively exposing CRUD methods

+0

Я добавляю его, но все же это не работает. Исключение: org.springframework.beans.factory.NoSuchBeanDefinitionException: никакой квалификационный компонент типа [SomeInterface], найденный для зависимости: ожидается как минимум 1 компонент, который квалифицируется как кандидат autwire для этой зависимости. Аннотации зависимостей: {@ org.springframework.beans.factory.annotation.Autowired (required = true)} – riv

+0

Можете ли вы разместить свою конфигурацию? Вы используете xml или java config? –

+0

и SomeRepository уже @NoRepositoryBean аннотация – riv

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