`
***************************
APPLICATION FAILED TO START
***************************
Description:
Field questionDao in com.surbhi.quizapp.service.QuestionService required a bean of type 'com.surbhi.quizapp.dao.QuestionDao' that could not be found.
The injection point has the following annotations:
- @org.springframework.beans.factory.annotation.Autowired(required=true)
Action:
Consider defining a bean of type 'com.surbhi.quizapp.dao.QuestionDao' in your configuration.
`
У меня есть следующая файловая структура и файлы.
Файловая структура:

QuestionService.java
@Service
public class QuestionService {
QuestionDao questionDao;
public QuestionService(QuestionDao questionDao) {
super();
this.questionDao = questionDao;
}
public ResponseEntity getAllQuestions() {
try {
return new ResponseEntity(questionDao.findAll(), HttpStatus.OK);
} catch (Exception e) {
e.printStackTrace();
}
return new ResponseEntity(new ArrayList(), HttpStatus.BAD_REQUEST);
}
public ResponseEntity getQuestionsByCategory(
String category
) {
try {
return new ResponseEntity(
questionDao.findByCategory(category),
HttpStatus.OK
);
} catch (Exception e) {
e.printStackTrace();
}
return new ResponseEntity(new ArrayList(), HttpStatus.BAD_REQUEST);
}
public ResponseEntity addQuestion(Question question) {
questionDao.save(question);
return new ResponseEntity("success", HttpStatus.CREATED);
}
}
QuestionDao.java
@Repository
public interface QuestionDao extends JpaRepository {
List findByCategory(String category);
@Query(
value = "SELECT * FROM question q Where q.category=:category ORDER BY RANDOM() LIMIT :numQ",
nativeQuery = true
)
List findRandomQuestionsByCategory(String category, int numQ);
}
Я также пробовал удалить @Autowire и создать конструктор, но это тоже не сработало и выдало эту ошибку
***************************
APPLICATION FAILED TO START
***************************
Description:
Parameter 0 of constructor in com.surbhi.quizapp.service.QuestionService required a bean of type 'com.surbhi.quizapp.dao.QuestionDao' that could not be found.
Action:
Consider defining a bean of type 'com.surbhi.quizapp.dao.QuestionDao' in your configuration.
Что мне делать, также добавлено
@SpringBootApplication(scanBasePackages={
"com.surbhi.quizapp.controller ", "com.surbhi.quizapp.dao","com.surbhi.quizapp.model","com.surbhi.quizapp.service"})
в основном , но это тоже не работает.
Использовал @ComponentScan, не работает
Основной файл класса:
@SpringBootApplication
@ComponentScan("com.surbhi.quizapp.dao")
public class QuizappApplication {
public static void main(String[] args) {
SpringApplication.run(QuizappApplication.class, args);
}
}
Подробнее здесь: https://stackoverflow.com/questions/781 ... -springfra