반응형
서비스 구현 전 비즈니스 로직 방식
VO, DAO, mapper, Controller 로 비지니스 로직 구현
서비스 인터페이스 구현 후 방식
VO, DAO, mapper, Service, Controller 로 Service 추가
**Service는 하나의 interface 구현을 통해 유지보수와 확장성을 고려함
코드상으로 추가된 사항들
** servlet-context.xml **
<context:component-scan base-package="mybatis.service" />
컨트롤러와 같은 패키지에서 써도되지만 유지보수 차원에서 다른 패키지를 쓰는것을 선택했다.
코드상으로 컨트롤러 component-scan 아래에다 추가해줬다.
** Service.java **
import...
@Service
public class EmpService implements MyMapper {
@Autowired
private EmpDAO e_dao;
@Override
public EmpVO[] getList() {
return e_dao.total();
}
@Override
public EmpVO[] search(String type, String value) {
return e_dao.search(type, value);
}
}
서비스에서는 공통 인터페이스를 구현하고 DAO를 호출해준다.
Service도 컨트롤러와 같이 어노테이션 필요하다 ( @Service )
** Controller.java **
import...
@Controller
public class EmpController {
@Autowired
private EmpService service;
@RequestMapping("emp_list")
public ModelAndView empList() {
ModelAndView mv = new ModelAndView();
EmpVO[] ar = mapper1.getList();
mv.addObject("ar", ar);
mv.setViewName("emp_list");
return mv;
}
}
컨트롤러에서 서비스를 autowired로 등록한다.
점점 확장될수록 비슷한 기능들을 추가할 때 유용할 것 같다.
반응형
'Spring' 카테고리의 다른 글
[Spring] 카카오 로그인 (6) | 2024.07.22 |
---|---|
[Spring] 스프링 인터셉터(Spring Interceptor) (0) | 2024.07.19 |
[Spring] db관련 properties 설정 (0) | 2024.07.18 |
[Spring] 한글 처리 (0) | 2024.07.15 |
[Spring] maven 라이브러리 관리와 mybatis 연동 (0) | 2024.07.12 |