2013-03-25 3 views
1

Spring과 Hibernate 프레임 워크를 사용하여 작성된 응용 프로그램이 있습니다. 모든 것이 올바르게 작동하지만 한 가지 질문이 있습니다. 컨트롤러가 서비스 계층 메서드를 호출하여 비즈니스 로직을 호출하는 경우 특정 코드가 어디에 있어야하는지 등의 질문이 있습니다. 다음 코드에서 AddPerson 페이지의 POST 요청 또는 서비스 계층 메서드를 처리하는 컨트롤러 메서드에 새 Person의 역할과 암호를 설정하는 코드가 있어야합니까?Spring Hibernate 애플리케이션에서 비즈니스 로직을 어디에 두어야 하는가?

// 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을 사용하여 제한 조건을 충족시키는 것입니다.

답변

0

서비스 계층에 있어야합니다. 컨트롤러 계층은 GUI 작업을 처리하고 변환하기위한 계층입니다. 그러나 사용자를 생성하고 올바르게 구성하는 것은 비즈니스 용 (또는 기술적 인) 유스 케이스 인 GUI 내용이 아니므로 서비스에 배치해야합니다.

`personService.createPersonWithRandomPassword();` 
+0

그래서 코드가 이제 서비스 계층으로 이동되었습니다. 감사. –

관련 문제