본문 바로가기

SpringFramework Core - I. IoC 컨테이너/9. 어노테이션 기반의 컨테이너 설정

(10)
9.1 @Required 원문: https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/core.html#beans-required-annotation public class SimpleMovieLister { private MovieFinder movieFinder; @Required public void setMovieFinder(MovieFinder movieFinder){ this.movieFinder = movieFinder; } // ... } 이 어노테이션은, bean의 해당 프로퍼티가 설정이 이뤄지는 동안에 채워져야 한다는 것을 의미한다. bean 정의의 명확한 프로퍼티 값을 통해 채워지거나, autowiring을 통해서 채워지..
9. 어노테이션 기반의 컨테이너 설정 스프링 설정에 '어노테이션'이 'XML'보다 나은가? 어노테이션 기반의 설정을 소개할 때는, 과연 이 접근이 XML보다 나은가하는 질문을 하게된다. 결론부터 말하자면, '때에 따라 다르다'이다. 좀 더 길게 말하자면, 각 방법은 나름대로의 장단점을 가지고 있고 개발자가 더 적합한 전략을 택하는 것에 달려있다고 할 수 있다. 어노테이션들은 정의되는 방식 덕분에 선언 속에서 많은 맥락을 제공할 수 있다. 이는 더 짧고 간결한 설정을 가능하게 해준다. 그러나 XML은 소스코드의 변경없이, 재컴파일없이 컴포넌트들을 wiring up하는 것에 뛰어나다. 몇몇 개발자는 소스와 밀접하게 wiring하는 것을 선호하는 반면에, 다른 개발자는 어노테이션이 붙은 클래스는 더 이상 POJO가 아니라고 주장한다. 또한 어노테..