#7.DI와 관련된 어노테이션(@Component,@Repository,@Service,@Controller,@RestController)
DI와 관련된 어노테이션
스프링 컨테이너는 base-package의 클래스를 검색해서 자동으로 자바 빈으로 등록하는 데 이에 해당하는 것이 @Component, @Repository, @Service, @Contoroller, @RestController 어노테이션이다.
자동스캔을 위해서는 <context:component-scan base-package="onj.edu.spring" /> 과 같이 base-package를 기술하며, 패키지가 여럿인 경우 콤마로 구분하여 기술한다.
n @Component : 일반적인 용도의 컴포넌트들을 표시하는 기본 스테레오 타입, 멤버변수와 getter, setter만 가지고 있는 DTO 같은 컴포넌트
@Component("onj")
public class Onj {
privateString name="OnJ";
public String getName() {
return name;
}
}
public class Onj {
privateString name="OnJ";
public String getName() {
return name;
}
}
n @Repository : 퍼시스턴스 레이어의 DAO컴포넌트
@Repository
public class SpringBoardDAO implements BoardDao{
}
public class SpringBoardDAO implements BoardDao{
}
n @Service : 서비스 레이어의 서비스 컴포넌트
@Service
public class SpringBoardService implements BoardService{
public class SpringBoardService implements BoardService{
@Autowried
private SpringBoardDAO boardDAO;
}
private SpringBoardDAO boardDAO;
}
n @Controller : 프리젠테이션 레이어의 컨트롤러 컴포넌트
@Controller
public class BoardMultiController {
@Autowired
private SpringBoardService springBoardService;
...
}
public class BoardMultiController {
@Autowired
private SpringBoardService springBoardService;
...
}
댓글 없음:
댓글 쓰기