어제는 Spring에서 컨트롤러(C) 부분의 설정과 어노테이션에 대해 배웠다.
오늘은 모델(M) 부분의 코드를 작성하면서, 주소록 예제를 작성하였다.
SQL > DAO > Service > Controller 순으로 코드를 작성하였다.
<context:component-scan base-package="sdo.md.dao" />
<context:component-scan base-package="sdo.md.service" />
DAO와 Service 클래스를 만들 때, 인터페이스를 만드는 이유는 무엇일까? 분업에 유리하다는 점은 알겠음.
의존성 주입(DI)라는 특성이 Spring을 많이 사용하는 이유라 하였는데, 아직 감이 오지 않는다.
다만, @AutoWired, @Inject, @Resource, @Setter 등의 어노테이션이 개발자가 선언한 객체의 값을 자동으로 채워주는 역할을 하고 즉, 객체를 만드는 주체가 Spring이 되게 하여 제어의 역전(IoC)이 일어나고, 이것이 Spring이 DI라는 특성을 가지게 한다.
다른 글에서 이 내용을 추가해보겠다.
무플방지위원회에서왔습니다