У меня есть приложение, написанное с использованием фреймворков Spring и Hibernate. Все работает правильно, но у меня есть один вопрос: если контроллеры вызывают бизнес-логику, вызывая методы сервисного уровня, куда должен идти определенный код, например. в следующем коде должен ли код для настройки новой роли пользователя и пароля находиться в методе контроллера, обрабатывающем запрос POST страницы AddPerson, или в методе сервисного уровня?
// Saves addPerson.jsp.
@RequestMapping(value = "/add", method = RequestMethod.POST)
public String postAdd(@ModelAttribute("person") Person person) {
logger.debug("PersonController.postAdd called");
// Create random number for new Person's password.
person.setPassword(String.valueOf(Java_Utils.getRandomNumber()));
// Create role for new Person.
person.setRole("PERSON");
// Add Person.
personService.add(person);
// Set records.jsp
return "redirect:/demo/main/record/list";
}
Это, конечно, только простой пример, но мне любопытно. Роль PERSON состоит в том, чтобы удовлетворить ограничение с помощью Tomcat, чтобы предотвратить доступ пользователя к странице, прошедшей проверку подлинности.