Springboot — точка внедрения имеет следующие аннотации: — @org.springframework.beans.factory.annotation.Autowired(requirJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Springboot — точка внедрения имеет следующие аннотации: — @org.springframework.beans.factory.annotation.Autowired(requir

Сообщение Anonymous »

Я получаю следующую ошибку:
`
***************************
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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»