SpringBoot: аннотации стереотипа не работают на уровне интерфейса - PullRequest
0 голосов
/ 25 февраля 2020
   package com.Test.springboot;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.ComponentScan;

@SpringBootApplication
@ComponentScan({"com.Test.springboot"})
public class SpringBoot1Application {

    public static void main(String[] args) {
        SpringApplication.run(SpringBoot1Application.class, args);



    }

}

Класс контроллера

package com.Test.springboot;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import com.Test.springboot.model.Student;
import com.Test.springboot.model.StudentDao;

@Controller
public class StudentController {
    @Autowired
    private StudentDao studentDao;

    @RequestMapping("/")
    public String homePage() {
        return "home";
    }

StudentDao

@Repository
public interface StudentDao {
    public Student addStudent(Student student);
    public Student getStudent(long id);
    public List<Student> getAllStudents();
    public String deleteStudent();

}

Если мы изменим аннотацию стереотипа (Репозиторий) на класс реализации, все будет работать нормально. но на уровне интерфейса выдается ошибка (org.springframework.beans.factory.NoSuchBeanDefinitionException: нет квалифицированного компонента типа 'com.vitechin c .springboot.model.StudentDao': :)

...