3계층 숙달, API handling
기본기란 익히면 익힐수록 흘러가는 것이 아니라 누적되고, 다른 기술을 익히기 쉽도록 도와주는 것.
그런 의미에서 3계층(Controller, Service, Repository) 숙달과 API handling은 무엇보다 중요한 기본기라고 할 수 있는데
- 3계층 숙달
- 스프링, 아니 개발의 핵심 중 하나가 분업과 느슨한 결합이다. 각자가 맡은 바 책임을 다하면 기능이 온전히 작동하고, 느슨히 결합함으로써 유연성과 확장성을 가지기 때문.
- 3계층은 분업과 느슨한 결합의 대표적인 예시이자, 스프링이 돌아가게 만드는 척추.
- 깊게 파자면 끝없는 이론이 있지만, 지금은 그것보다 우선 손에 익게 하는데 집중하기. 손에 익어서, "아 나도 웬만한 사이트는 노력하면 만들 수 있지!"라는 자신감을 가지는게 정말 중요하다.
- API handling
- 혼자 하는 개발은 없다. 그리고 세상에는 다양한 API가 있다. API를 잘 다루면 재미있는 나만의 서비스를 더 많이, 더 빠르게 만들 수 있고 그럼으로써 개발자로 한 단계 성장할 수 있다.
- 또한, 앞에서 말한 느슨한 결합의 대표적인 예시가 바로 API. 우리가 이용할 네이버 검색 API의 내부 로직이 어떻게 되든 상관없이, 우리는 정해진 약속대로 요구하면 정해진 결과를 받을 수 있다.
- 한 마디로 API가 아무리 많아도 쓸 줄 모르면 무용지물. 그런데 JSON으로 주고받는 데이터를 어떻게 자바로 요청하고, 그 결과를 다룰 수 있는지 모르는 분들이 생각보다 많다. 이번에 그 기초를 확실하게 배워보자
프로젝트 모습과 기능
http://spring.spartacodingclub.kr/
- 요구 기능
- 상품명에 따른 검색
- 관심 상품 등록 & 조회
- 관심 상품에 대한 최저가 등록하기
- 자바에서 API를 요청하고 그 결과를 어떻게 다룰 수 있을까?
- 모든 코드를 이해하기보다, 요점을 정확히 파악하고 데이터를 주고받을 수만 있으면 된다.
- ARC를 이용해서 네이버에 검색을 요청하고, 응답을 자바 코드로 변환한 뒤 DB에 저장해보자.
- 더해서, 자동으로 정보를 수집하고 업데이트하는 스케줄러까지 만들어보자
Controller - Service - Repository 3계층 레이어, 손에 붙어야 한다

다시 한 번 리마인드 해보자
- Controller 는 제일 바깥 쪽에서 요청을 받고, 응답을 되돌려주는 역할.
- Service 는 중간에서 구체적인 작업 순서를 결정.
- Repository 는 DB와 직접 소통함으로써 자료를 생성하고, 조회하고, 변경하고, 삭제.
- 그리고 각 레이어 간에는 절대 Entity를 직접 사용하지 않고, DTO 라는 택배상자를 만들어 사용.
HTML과 CSS는 강의에서 제공하는 소스코드를 보고 만들 예정
'공부기록 > 자바 스프링' 카테고리의 다른 글
| 스프링 Controller의 역할 (0) | 2022.01.27 |
|---|---|
| 3-1. 간단한 미니프로젝트 완성 (0) | 2022.01.25 |
| 2-2. 클라이언트 설계 (0) | 2022.01.24 |
| 2-1. 서버 설계 (API),(Repository),(Service),(Controller), (0) | 2022.01.23 |
| 2-0. 키워드 (0) | 2022.01.22 |