전자정부 프레임워크 기반으로 프로젝트를 진행하다 보면,
서비스를 인터페이스로 만든 이후 상속받아서 사용하라고 나온다...
나름 낮은 결합도를 위해서 만든 규칙이라고하는데..만드는 프로그래머 입장에서는 정말 별로인 것 같다.
덕분에 서비스를 만들 때 여러개의 인터페이스를 남발해야 되는 경우가 생긴다.
물론 1개의 인터페이스를 써도 되는데...그러면 안쓰는 메소드까지 오버라이딩해야되는 불쌍사가...
해서..Qualifier 에노테이션을 달아줬다.
서비스를 그냥 쓰게되면 어디껀지 모르는 경우가 좀있다보니,
덕분에 해당 인터페이스를 상속받은 서비스가 정확하게 명시되어서
나름 괜찮았던 것 같다.
인터페이스
public interface Service {
public void list(HttpServletRequest request, Model model);
}
인터페이스를 구현한 서비스
@Service("ServiceImpl")
@Transactional(isolation = Isolation.READ_COMMITTED, rollbackFor = Exception.class)
public class ServiceImpl extends EgovAbstractServiceImpl implements AlarmService{
@Override
public void list(HttpServletRequest request, Model model){
}
}
인터페이스를 사용하는 컨트롤러
@Controller
public class AlarmController {
@Autowired
@Qualifier("ServiceImpl")
private Service service;
}
반응형
'Spring framework' 카테고리의 다른 글
스프링 Json 매핑(415, 400오류) (0) | 2019.04.29 |
---|---|
Spring, ResponseBody 오류, 406에러 (0) | 2019.04.29 |
전자정부 프레임워크(Spring) 파일 다운로드 (0) | 2019.04.29 |
스프링 resources로 프로퍼티 읽기 (0) | 2019.04.29 |
Spring 비동기 응답(Spring async, Spring EnableAsync) (0) | 2019.04.25 |
* 위 에니메이션은 Html의 캔버스(canvas)기반으로 동작하는 기능 입니다. Html 캔버스 튜토리얼 도 한번 살펴보세요~ :)
* 직접 만든 Html 캔버스 애니메이션 도 한번 살펴보세요~ :)
댓글