Примечание. Я не использую Spring Boot
Я получаю сообщение об ошибке, как показано ниже
org.springframework.beans.factory.NoSuchBeanDefinitionException: не найден квалифицирующий компонент типа [com.repository.MbrEnrollRepository] для зависимости: ожидается, что по крайней мере 1 компонент, который квалифицируется как кандидат для автоматической передачи для этой зависимости.Аннотации зависимостей: {}
Вот мой репозиторий, который расширяет грубое хранилище данных пружин jdbc
import org.springframework.data.jdbc.repository.query.Query;
import org.springframework.data.repository.CrudRepository;
public interface MbrEnrollRepository extends CrudRepository<EM_MBR_ENROLLMENT_VO, String> {
@Query("select count(*) FROM EM_MBR_ENROLLMENT WHERE MEMBER_ID ='W0000000002'")
int countItems();
}
Я вызываю метод countItems () в своем классе обслуживания.Согласно моим знаниям, контейнер Spring создаст экземпляр репозитория, для этого нам нужно определить bean-компонент репозитория типов в классе конфигурации.Я нигде не нашел того, как определить бин для хранилища.
public class MbrServicesImpl implements MbrServices {
@Autowired
private MbrEnrollRepository repository;
public int getEnrollCount() {
return (int) repository.count();
}
}
В моем классе конфигурации есть необходимые запрошенные bean-компоненты, как показано в весенних документах.
@EnableWebMvc
@ComponentScan(basePackages = "com.restControllers")
@Configuration
@EnableJdbcRepositories
public class MyBeansConfiguration extends JdbcConfiguration{
@Bean
public DriverManagerDataSource dataSource() {
DriverManagerDataSource ds = new DriverManagerDataSource();
ds.setDriverClassName("MYDRIVER");
ds.setUrl("MYURL");
ds.setUsername("USER");
ds.setPassword("PASSWORD");
return ds;
}
@Bean
NamedParameterJdbcOperations operations() {
return new NamedParameterJdbcTemplate(dataSource());
}
@Bean
PlatformTransactionManager transactionManager() {
return new DataSourceTransactionManager(dataSource());
}
@Bean
public MbrServices mbrServicesImpl() {
MbrServicesImpl mbrServices = new MbrServicesImpl();
return mbrServices;
}
}
Мой класс контроллера
@RestController
public class MyRestController{
@Autowired
private MbrServices mbrServicesImpl;
@RequestMapping("/count")
public String getCount() {
System.out.println("Inside rest controller method : COUNT ");
return String.valueOf(service.getEnrollCount());
}
}
Возможно ли использоватьВесенние данные JDBC с весны 4+?если да, пожалуйста, помогите мне ....