Spring не находит @Qualifier

356
29 марта 2017, 15:33

Имею кастомный квалификатор, суть в том что есть три бина помеченные квалификатором. Но почему-то один из них не находит

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.abraham.dms.services.CRUDOperationServices<?>' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.abraham.dms.qualifier.EntityTitle(value=PRODUCTS)}

БД и Entity проверил, там все в порядке. Аналогичных проблем не нашел в интернете. Это бин который не находит:

@Repository@EntityTitle(value = Titles.PRODUCTS)public class ProductDao implements RepositoryDAO<ProductEntity> {
private Logger productLogger =
        LoggerFactory.getLogger(ProductDao.class);
private final SessionFactory sessionFactory;
@Autowired
public ProductDao(final SessionFactory sf) {
    this.sessionFactory = sf;
}
@Override
public void insert(final ProductEntity object) {
    Session session = sessionFactory.getCurrentSession();
    session.persist(object);
    productLogger.info("Insert product " + object);
}
@Override
public void update(final ProductEntity object) {
    Session session = sessionFactory.getCurrentSession();
    session.update(object);
    productLogger.info("Update product " + object);
}
@Override
public void remove(final long id) {
    Session session = sessionFactory.getCurrentSession();
    ProductEntity product = session.load(ProductEntity.class, id);
    if (product != null) {
        session.delete(product);
    }
    productLogger.info("Delete product " + product);
}
@SuppressWarnings("unchecked")
@Override
public List<ProductEntity> readAll() {
    final String query = "from "
            + ProductEntity.class.getSimpleName();
    Session session = sessionFactory.getCurrentSession();
    List<ProductEntity> productList = session.createQuery(query).list();
    for (ProductEntity p : productList) {
        productLogger.info("Item:", p);
    }
    return productList;
}
@Override
public ProductEntity getObjectId(final long id) {
    Session session = sessionFactory.getCurrentSession();
    ProductEntity product = session.load(ProductEntity.class, id);
    productLogger.info("Order product " + product);
    return product;
}

}

@Service@RepositoryTitles(value = RepTitle.PRODUCTSERVICE)public class ProductService implements CRUDOperationServices<ProductEntity> {
private final CRUDOperationServices product;
@Autowired
public ProductService(@EntityTitle(value = Titles.PRODUCTS)
                          final CRUDOperationServices p) {
    this.product = p;
}
@Override
@Transactional
public void insert(final ProductEntity object) {
    product.insert(object);
}
@Override
@Transactional
public void update(final ProductEntity object) {
    product.update(object);
}
@Override
@Transactional
public void remove(final long id) {
    product.remove(id);
}
@Override
@Transactional
public List<ProductEntity> readAll() {
    return product.readAll();
}
@Override
@Transactional
public ProductEntity getObjectId(final long id) {
    return (ProductEntity) product.getObjectId(id);
}

Еще два бина построены по аналогичному образу. Но с ними проблем нет. В чем может быть причина?

Квалификатор:

@Target({
    ElementType.FIELD,
    ElementType.METHOD,
    ElementType.TYPE,
    ElementType.PARAMETER}) @Qualifier public @interface EntityTitle {Titlesvalue();}
public enum Titles { CLIENTS,
MATERIALS,
PRODUCT,
PRODUCTCOMPONENTS,
ORDERS,
ORDERCOMPONENTS }
READ ALSO
xpath selector ::ater

xpath selector ::ater

Добро дня!

287
Angular. Как передать данные из object - attachment?

Angular. Как передать данные из object - attachment?

В общем есть что то типа конструктора PDF, заполняем поля и по нажатию на "предварительный просмотр" данные из этих полей должны быть в PDF-ке

307
Как напечатать русский символ с помощью Java?

Как напечатать русский символ с помощью Java?

ЗдравствуйтеНедавно все-таки придумал, как вводить текст автоматизированно через Robot

318
Динамический поиск и вывод в приложении Android

Динамический поиск и вывод в приложении Android

Приветствую! У меня есть таблица в базе данных, данного вида (Пример): ID, NAME, ABOUT, CATEGORY

305