항해99 7기/TIL(Today I Learned)
항해99 7기 19일차 TIL[MVC와 Controller,Repository,Service]
고을마을
2022. 5. 28. 01:32
2022년 5월 27일. 항해 19일차.
오늘부터 주특기숙련주차가 시작됐다.
주특기입문주차보다 방대한 수업자료량에 놀랐고 강의와 자료를 보는데 온 하루를 다썼던 날.
오늘 배운 내용의 핵심 내용을 기록해본다.(작성해보면서 복습도 하고, 또 읽어보면서 이해도 하고 하는거겠지ㅋㅋ)
정적 페이지와 동적 페이지
- 정적 (static) 웹 페이지
- Controller
- Client 의 요청을 Model 로 받아 처리 (ex: 회원가입을 위한 개인 정보들 (id, password, name))
- Client 에게 View (정적 웹 페이지, HTML) 를 내려줌
- Controller
- 동적 (dynamic) 웹 페이지
- Controller
- Client 의 요청을 Model 로 받아 처리
- Template engine 에게 View, Model 전달
- View: 동적 HTML 파일
- Model: View 에 적용할 정보들
- Template engine
- View 에 Model 을 적용 → 동적 웹페이지 생성
- 예) 로그인 성공 시, "로그인된 사용자의 id" 를 페이지에 추가
- Template engine 종류: 타임리프 (Thymeleaf), Groovy, FreeMarker, Jade 등 (스프링에서 JSP 이용은 추천하지 않고 있음)
- View 에 Model 을 적용 → 동적 웹페이지 생성
- Client 에게 View (동적 웹 페이지, HTML) 를 내려줌
- 정적 (static) 웹 페이지
- Controller
- Client 의 요청을 Model 로 받아 처리 (ex: 회원가입을 위한 개인 정보들 (id, password, name))
- Client 에게 View (정적 웹 페이지, HTML) 를 내려줌
- Controller
- 동적 (dynamic) 웹 페이지
- Controller
- Client 의 요청을 Model 로 받아 처리
- Template engine 에게 View, Model 전달
- View: 동적 HTML 파일
- Model: View 에 적용할 정보들
- Template engine
- View 에 Model 을 적용 → 동적 웹페이지 생성
- ex) 로그인 성공 시, "로그인된 사용자의 id" 를 페이지에 추가
- Template engine 종류: 타임리프 (Thymeleaf), Groovy, FreeMarker, Jade 등 (스프링에서 JSP 이용은 추천하지 않고 있음)
- View 에 Model 을 적용 → 동적 웹페이지 생성
- Client 에게 View (동적 웹 페이지, HTML) 를 내려줌
- Controller
- Controller
Controller,Repository,Service
- Controller
- 클라이언트의 요청을 받음
- 요청에 대한 처리는 서비스에게 전담
- 클라이언트에게 응답
- Service
- 사용자의 요구사항을 처리 ('비즈니스 로직') 하는 실세 중에 실세!!!
- 현업에서는 서비스 코드가 계속 비대해짐
- DB 정보가 필요할 때는 Repository 에게 요청
- 사용자의 요구사항을 처리 ('비즈니스 로직') 하는 실세 중에 실세!!!
- Repository
- DB 관리 (연결, 해제, 자원 관리)
- DB CRUD 작업 처리
솔직히 오늘 너무 어려웠다!
이해하는데 한참 걸렸고 완벽하게 이해하지 못한 내용도 있었다.
주특기 숙련주차 각오는 하고 있었지만...ㅠㅠ
객체중복생성문제, 의존성주입... 아직도 알아야할게 너무 많다. 내일도 힘내자.