코딩에 대한 글을 쓰기에 앞서 기본적으로 게시판 구현시 오류를 예방하고 작업을 원할하게 하려면 꼭 인식하고 있어야 할 항목들을 정리~~!.
웹 요청/응답 프로세스
- 기본적인 웹 프로세스를 머릿 속에 담고 있어야 한다. Dispatcher Servlet을 중심으로 스프링은 모든 걸 진행하는데 먼저 기본적인 웹 요청의 틀로써
- 클라이언트 - 서버. 사용자 - 제공자 구조를 인식하고 있어야 하며.
- 최초 사용자가 웹 요청을 (예를 들어 READ/SELECT 문을 호출하여 서버에 저장된 데이터를 웹에서 읽고자 할 시에) 하면 요청 사항은 servlet을
- 거쳐서 사용자가 요청한 URI와 매핑되는 Controller를 찾아주는데 (이 때 찾아준다는 의미는 이미 WAS(스프링 서버단에 객체화 된 빈을 연결해준다는 말) 즉 component scan으로 controller, service, resource 등의 모듈이 이미 등록되어 있다는 말.
- 그래서 요청으로 받은 Controller와 연결되면 Controller에서 파라미터 값으로 사용자 요청을 받아 필요한 ServiceImpl(즉 필요한 기능을 실행)하는데 ServiceImpl는 보통 Service Interface를 상속받아 (개발자가 한눈에 -- 기능을 전부 볼 수 있게끔 요약해둔 곳이라고 이해함) 구현이 되는데 쨋든 ServiceImpl에 있는 메소드를 실행하게 된다.
- 이렇게 연결되어 있는 ServiceImpl가 보이면 Ctrl을 눌러 해당되는 클래스를 마우스로 클릭해보자 그러면 구현된 메소드로 이동하게 된다.
- 메소드로 이동하면 Service Interface를 상속받았다면 @Override annotation이 있을 거다. 그건 그대로 두고 ServiceImpl에서 어떤 파라미터를 받고 어떤 리턴 값을 구현하는지 확인해보자.
- ServiceImpl는 또한 DAO(Data Access Object) 데이터(DB)를 접근하는 객체에 있는 메소드를 사용하고 있을거다.
- DAO는 mapper namespace로(mapper 식별을 위한 namespace) 를 사용해 QueryId를 파라미터를 사용할 텐데 여기서 **sql.xml 파일과 연결이 된다.
- **sql.xml 파일은 보통 src/resource에 위치해 있고 query 구현으로 DB에 접근해 CRUD( Create- insert 만들기 Read- select 읽어오기 Update- update 수정하기 Delete - update(del 칼럼에서 'Y') 삭제하기 작업을 실행한다.
728x90
'700===Dev Project > 기획' 카테고리의 다른 글
데이터 사용에 대한 고찰 (0) | 2019.01.15 |
---|---|
프로젝트 기획 (0) | 2019.01.14 |