Я нахожу проблемы с автоматическим подключением в своем Java-приложении с помощью spring -boot (1.5.17.RELEASE). В одних классах автопровод работает, в других - нет. Каждый класс, для которого требуется Autowired / Bean, подписывается как Component, и в конфигурации приложения я сделал сканирование базовых пакетов:
@ComponentScan(basePackages = {"io.swagger", "io.swagger.api", "com.example.mypackage"},
excludeFilters = {@ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, value = Swagger2SpringBoot.class)})
Класс, в котором не работает autowired, следующий:
@Component
public class InputToDomain implements CustomConverter {
@Autowired
private ConnectionDAO connectionDAO;
public Domain convert(Object dest, Object source, Class<?> aClass, Class<?> aClass1) {
String cod_ = ((Request)source).getCod_();
return new Domain(connectionDAO.getAnag(cod_));
}
}
Класс ConnectionDao правильно автоматически подключен к другому классу, помеченному как этот. это реализация ConnectionDao:
@Repository
@Transactional
public class ConnectionDAO {
private final Logger log = LoggerFactory.getLogger(ConnectionDAO.class);
@Autowired
private SessionFactory sessionFactory;
private String table = "EXAMPLE_TABLE";
public List<Anagrafica> getAnag(String cod_){
SQLQuery sqlQuery = sessionFactory.getCurrentSession().createSQLQuery("select * from " + table +" where COD_ = :cod_");
sqlQuery.setParameter("cod_", cod_);
sqlQuery.addEntity(Anag.class);
return sqlQuery.list();
}
}
и действительно похож на класс, в котором работает autowired. Пакет класса включен в ComponentScan.
В чем должна быть проблема?
Спасибо
Я добавил класс, но в другом классе ConnectionDao хорошо реализован. так что проблема в другом ...




Показать класс
ConnectionDAOи пакет класса