Dev-/Spring
Controller에서 @Transactionl 이 필요하다면...?
thiago6
2018. 7. 14. 21:19
Controller에서는 @Transactionl을 사용하면 안된다고 알고 있었습니다.
일단 작동이 되지 않는데,,
Controller는 '안내'만 하고, 비즈니스 로직은 Service에서 구현해야 하기 때문입니다.
(따로 억지로 설정을 해주면 됩니다.)
- 비즈니스 로직이란,
올바른 데이터를 리턴하기 위해 거쳐야 하는 여러가지 검사를 하는 로직을 말하는데,,
이 부분을 Service가 맡고 있습니다.
따라서 트랜잭션의 ACID를 지키기 위해 @Transactional을 붙이는 것입니다.
만약 Controller를 설정하다가,
@Transaction을 붙여야 할 것 같다는 느낌이 든다면,, 그 코드는 좋은 코드가 아니라고 합니다.
MVC가 제대로 적용되지 않았다는 표시라고 합니다..