이 장 코드에서는 @Component 대신 @Service로 CommentService 클래스를 표시한다. 이렇게 하면 객체의 책임성을 명시적으로 표시할 수 있어 클래스를 읽는 모든 개발자가 이런 측면을 더 잘 파악할 수 있다. 다음 코드는 이 클래스에 @Service 스테레오타입 애너테이션이 추가된 것을 보여 준다.
@Service ← @Service를 사용하여 이 객체를 서비스 책임을 가진 컴포넌트로 정의한다.
public class CommentService {
// 코드 생략
}
마찬가지로 다음과 같이 리포지터리 클래스의 책임을 @Repository 애너테이션을 사용하여 명시적으로 표시한다.
@Repository ← @Repository를 사용하여 이 객체를 리포지터리 책임을 가진 컴포넌트로 정의한다.
public class DBCommentRepository implements CommentRepository {
// 코드 생략
}
이 sq-ch4-ex7 프로젝트의 소스 코드는 역시나 깃허브에서 찾을 수 있다.