" async="async">
', {
cookie_domain: 'auto',
cookie_flags: 'max-age=0;domain=.tistory.com',
cookie_expires: 7 * 24 * 60 * 60 // 7 days, in seconds
});
자바 애노테이션으로 빈을 구성하는게 XML 로 구성하는 것 보다 나은 이유 — 제이크서 개발 블로그
자바 애노테이션으로 빈을 구성하는 것이 XML 로 구성하는 것보다 나은 이유
구성정보와 코드가 함께 있다 (Colocation of configuration and code)
- 빈 구성정보가 직관적으로 자바 코드 내부에 있게 된다.
- 클래스가 어떻게 사용되는지 더이상 알아볼 필요 없이 직관적인 이해가 가능해진다.
- XML 구성정보 파일과 자바 파일을 왔다갔다 하는 비용을 줄여준다.
- 유지보수 하기 쉬운 코드가 된다.
보일러 플레이트 코드를 줄인다 (Reduce boilerplate)
- 빈을 함께 묶기 위한 보일러 플레이트 코드를 줄인다.
- XML 에서 빈과 해당 종속성을 명시적으로 정의할 필요 없이 애노테이션을 통해 자바코드에서 직접 이런 관계를 선언할 수 있다.
- 구성 정보를 작성하는 것이 보다 간결해진다.
컴파일 타임 체크 (Compile-time checks)
- 자바 컴파일러가 컴파일 중에 빈 구성정보에 오류가 발생한 것을 알 수 있게 된다.
- XML 구성정보를 이용하면 런타임에만 오류가 드러나기 때문에 불가능하다.
- 컴파일 타임 검사는 잠재적 구성 오류를 보기에 발견하고 예방하는데 도움이 된다.
리팩토링 지원 (Refactoring support)
- 자바 코드를 사용하는 만큼 모던 IDE 에서는 더 나은 리팩토링 지원을 받을 수 있다.
- 클래스나 메서드 이름 등을 바꿀 때 유용하다.
- XML 에서는 무언가 리팩토링할 때 일일이 바꿔주어야 하는 것을 생각하면 유용하다.
더 나은 가독성 (Improved readability)
- 애노테이션이 빈과 의존성 사이의 관계를 이해하는데 도움을 준다.
- 이는 코드 유지보수와 가독성에 도움이 된다.
그렇다면 XML 로 빈을 구성하는 방식의 장점은?
관심사의 분리가 잘 된다.
- 비즈니스 로직과 같은 자바 코드와 분리된 공간에 위치해 관심사의 분리가 잘 이루어진다.
- 빈 정의에 대한 보다 명시적인 제어가 가능하다.
결론
- 자바 애노테이션 방식으로 빈을 구성하면 그에 따른 많은 장점이 있지만 결국은 프로젝트에 알맞은 방법을 선택하는 것이 좋다.