728x90
반응형
@Service
위 애너테이션은 서비스 계층의 컴포넌트를 정의한다.
서비스 계층은 비즈니스 로직을 처리하고, 데이터 액세스 계층과 컴트롤러 계층을 중간에서 연결해준다.
1
2
3
4
5
6
7
8
9
10
11
12
13
|
@Service
public class UserService {
@Autowired
private UserRepository userRepository;
public User findUserById(Long id) {
return userRepository.findById(id).orElse(null);
}
// 기타 비즈니스 로직
}
|
cs |
@Controller
위 애너테이션은 웹 계층의 컴포넌트를 정의한다.
http 요청을 처리하고, 적절한 뷰로 응답을 생성하는 역할을 한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
@Controller
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/user/{id}")
public String getUser(@PathVariable Long id, Model model) {
User user = userService.findUserById(id);
model.addAttribute("user", user);
return "userProfile"; // userProfile.html 뷰를 반환
}
// 기타 HTTP 요청 처리 메서드
}
|
cs |
Service를 사용하는 이유는 여러 컴트롤러나 다른 서비스의 로직을 재사용할 수 있고,
로직을 중앙화하여 관리해서 유지보수가 쉬워지기 때문이다.
728x90
반응형
'Spring' 카테고리의 다른 글
Spring JPA의 Entity란? (0) | 2024.08.01 |
---|---|
JPA 쿼리 메서드 (0) | 2024.07.30 |
Java Package와 Directory의 차이점 (0) | 2024.07.30 |
Thymeleaf란? (0) | 2024.07.30 |
Lombok이란? (0) | 2024.07.29 |