개발의 주요 레이어와 개발 과정이다.
-
View: 사용자에게 보여줄 영역으로 Model 객체를 이용해서 데이터를 수신받아 동적으로 움직이거나 정적 파일을 내보낸다.
-
Controller: 화면에서 요청한 URL를 Mapping(@RequestMapping , @GetMapping, @PostMapping @DeleteMapping 등) 해서 Model 객체를 이용해 View 단에 데이터를 넘긴다. Service에 의존한다.
-
Service: 비즈니스 로직과 기능적 부분을 만들어내고 구현하는 곳으로 Service라는 Interface를 구현해서 해당 메서드로 비즈니스 로직을 짜는 경우가 많다.(유지보수의 용이, 재사용성) DAO(Data Access Object)에 의존한다.
-
DAO(Data Access Object): 데이터 처리를 위한 동작을 가진 객체이다. DAO라는 Interface를 구현해서 해당 메서드를 가지고 하나의 테이블과 연결되어 데이터를 처리한다. SqlSessionTemplate에 의존한다.
-
MyBatis: 직접 JDBC-API에 접근하거나 바로 데이터베이스에 엑세스하지않고 해당 프레임워크를 거친다. VO(Values Object)와 DTO(DataTranferObject)를 이용하며 데이터를 맵핑하거나 파라미터로 받아준다.
DAO와 VO을 설정에 잡아놓고 사용한다.
개인적인 의견으로 이 과정을 머릿 속에 잡아놓지 않는다면 아무것도 할 수 없어진다고 생각한다.
그래서 스스로도 예제를 아무리 따라서치려고 해보아도 이해하지를 못하고 패키지를 어떻게 짜놓는지도 이해할 수 없었다.
현재도 나는 그런 점을 하스스로 몰랐어서 공부하고 이해하는 중에 있다. springframework의 철학과 관련이 있고, 느슨한 결합도 높은 응집력이라는 키워드, 관련을 가지지 않는 것을 분리하라. 라는 철학들에 조금 더 이해하게 되는 것 같다.
'MyBatis' 카테고리의 다른 글
log4j.xml (0) | 2020.07.18 |
---|---|
Mybatis, 테이블 연동과 기본적인 DML 조작 (0) | 2020.07.18 |
4.Java 에노테이션으로 MyBatis 연동 및 테스트 (0) | 2020.07.13 |
3.MyBatis를 이용한 데이터 조회와 연동-log (0) | 2020.07.11 |
2..Mybatis의Test (0) | 2020.07.11 |