Spring Data репозиторий Ошибка автоматического внедрения - PullRequest
0 голосов
/ 29 мая 2018

Я пытаюсь обновить свой проект до Spring 5.0.6 и Spring Data 2.0.6, и мы используем управляемый WebSphere JPA 2.1

Получение ниже исключения при создании контекста Spring:

[29.05.18 6: 30: 41: 929 CDT] 00000052 SystemOut O 06: 30: 41.876 [по умолчанию: 5] ОШИБКА org.springframework.web.context.ContextLoader - сбой инициализации контекста org.springframework.beans.factory.UnsatisfiedDependencyException: Ошибка при создании компонента с именем 'userService': Неудовлетворенная зависимость, выраженная через поле 'userRepository';вложенное исключение - org.springframework.beans.factory.NoSuchBeanDefinitionException: нет доступного квалифицирующего компонента типа 'com.mmm.arc.dao.UserRepository': ожидается как минимум 1 компонент, который квалифицируется как кандидат для автоматического подключения.

...

класс обслуживания:

@Transactional(propagation = Propagation.REQUIRED )

public class UserServiceImpl implements UserService, UserDetailsService {


    @PersistenceContext
    private EntityManager em;

    @Autowired
    UserRepository userRepository;
}

класс хранилища:

public interface UserRepository extends JpaRepository<User, String>, JpaSpecificationExecutor< User >,UserRepositoryCustom{

}

public class UserRepositoryImpl implements  UserRepositoryCustom{

    @PersistenceContext
    EntityManager em;
-----------methods
}

в схеме я не упомянул ни одной пружиныверсия

<jpa:repositories base-package="repo class package" /><bean class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean" id="entityManagerFactory">
    <property name="persistenceUnitName" value="persistance unit name"/>
    <property name="dataSource" ref="dataSource"/>
</bean>

у нас есть отдельный файл persistence.xml для сопоставления всех объектов, полностью основанных на аннотациях

1 Ответ

0 голосов
/ 29 мая 2018

Ваш бин UserRepositoryImpl не реализует interface UserRepository, который используется UserServiceImpl.Таким образом, я думаю, что на самом деле нигде не создается UserRepository экземпляр.

Возможно, вы намеревались использовать UserRepositoryImpl до implement UserRespository вместо UserRepositoryCustom?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...