Couldn autowire. Spring boot

104
31 октября 2021, 02:00

Пытаюсь создать контроллер spring boot. Проект разбит на несколько модулей: dao, entities, services, controllers.

    package dao.repository;
    import entities.Movie;
    import org.springframework.data.jpa.repository.JpaRepository;
    import org.springframework.stereotype.Repository;
    @Repository
    public interface MovieRepository extends JpaRepository<Movie, Integer> {
        Movie findByTitle(String title);
    }
    package impl;
    import dao.repository.MovieRepository;
    import entities.Movie;
    import interfaces.MovieCrudService;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    import java.util.List;
    @Service
    public class MovieCrudServiceImpl implements MovieCrudService {
      @Autowired private MovieRepository movieRepository;
      @Override
      public List<Movie> getAllMovies() {
        return movieRepository.findAll();
      }
      @Override
      public Movie getMovieByID(int id) {
        return movieRepository.findOne(id);
      }
      @Override
      public Movie getMovieByTitle(String title) {
        return movieRepository.findByTitle(title);
      }
      @Override
      public void createMovie(Movie movie) throws Exception {
        movieRepository.saveAndFlush(movie);
      }
      @Override
      public void updateMovie(Movie movie) {
        movieRepository.saveAndFlush(movie);
      }
      @Override
      public void deleteMovie(Movie movie) {
        movieRepository.delete(movie);
      }
    }
    package cashier;
    import interfaces.MovieCrudService;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.Model;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;

    @Controller
    public class ShowMoviesController {
        @Autowired
        private MovieCrudService movieService;
        @RequestMapping(value = { "/showMovies" }, method = RequestMethod.GET)
        public String viewPersonList(Model model) {
            model.addAttribute("movies", movieService.getAllMovies());
            return "showMovies";
        }
    }

Но при попытке запустить Application:


    package app;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;

    @SpringBootApplication(scanBasePackages = {"cashier"})
    public class Application {
      public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
      }
    }

Пишет ошибку:


    ***************************
    APPLICATION FAILED TO START
    ***************************
    Description:
    Field movieService in cashier.ShowMoviesController required a bean of type 'interfaces.MovieCrudService' that could not be found.

    Action:
    Consider defining a bean of type 'interfaces.MovieCrudService' in your configuration.

Каким образом это можно исправить?

READ ALSO
Не проходит unit test при делении в столбик

Не проходит unit test при делении в столбик

Тест программы, которая делает деление в столбик :

143
С чего начать изучение JAVA? [дубликат]

С чего начать изучение JAVA? [дубликат]

Хочу научиться программировать на JAVAНеделю назад начал активно изучать по видео урокам данный язык

165
Замок синхронизации

Замок синхронизации

Есть два примера сихронизированного кодаВ первом блокировка не работает, во втором работает

167