Как называется данный шаблон проектирования в Spring

Я начал разрабатывать вебсайт с использованием Spring Boot (2.2.6.RELEASE) + Hibernate и столкнулся с тем, что мне надо выбрать паттерн для разработки вебсайта.

Я выбрал следующий вариант для разработки, но не могу понять как называется такой паттерн (предполагаю, что MVC):

@Entity -> @Repository -> @Service -> @Controller <- HTML(Thymeleaf/Template Engine)

То есть я создаю сущности/модели (@Entity)
Для работы с таблицами я использую extend CrudRepository<..., ...> (@Repository)
Бизнес-логику записываю в сервис-класс, где я с помощью @Autowired имею доступ к Repository (@Service)
В контроллере я с помощью @Autowired получаю доступ к @Service и в контроллере я указываю какой template мне надо использовать для той или иной страницы(@Controller).
Пример:

@Entity

@Entity
@Data
@Table
public class Role {

    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "role_generator")
    @SequenceGenerator(name="role_generator", sequenceName = "seq_role", allocationSize = 1)
    private Long id;

    @Column
    private String roleName;

    //Еще  какой-то код
}

@Repository

@Repository
public interface RoleRepository extends CrudRepository<Role, Long> {

    List<Role> findAll();

    Role findByRoleName(String roleName);
}

@Service

@Service
public class RegistrationService {

    @Autowired
    private UserRepository userRepository;

    @Autowired
    private RoleRepository roleRepository;

    @Autowired
    BCryptPasswordEncoder bCryptPasswordEncoder;

    public Viewer findByRoleName(String roleName) {
        return roleRepository.findByRoleName(roleName);
    }
}

@Controller

@Controller
@RequestMapping("/registration")
public class RegistrationController {

    @Autowired
    private RegistrationService registrationService;

    @GetMapping
    public ModelAndView getRegistration(){
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.setViewName("public/registration");
        modelAndView.addObject("users", registrationService.findByRoleName("TEST").getUsers());
        return modelAndView;
    }

Примеры лишь отображают идею, поэтому ошибок в коде не ищите


Ответы (0 шт):