본문 바로가기

반응형

SpringBoot/스파르타 스프링 심화

(30)
[스파르타 스프링 심화] 01.11 관심사 분리해보기 ##문제 : 아래 그림에서 Controller, Service, Repository 기능을 구분해 보자 1) Controller 2) Service -db 연결은 서비스에서 하는줄 알았는데 리파지토리의 일이다 -서비스는 리파지토리에 db 관련 명령 전달 3) Repository
[스파르타 스프링 심화] 01.10 객체지향 프로그래밍 ##객체지향 프로그래밍 : 코드를 역할별로 분리한다. : 스프링에서는 크게 Controller, Service, Repository 3계층으로 분리 1.Controller -클라이언트의 요청을 받음 -비즈니스 로직은 서비스에게 전담 -서비스의 처리 결과를 클라이언트에게 응답 2.Service -비즈니스 로직을 처리(비즈니스 로직: 서버에서 사용자의 요구사항 처리) -db관련된 일은 Repository 에게 전담 -Repository 의 처리 결과를 컨트롤러에게 전달 3.Repository -db CRUD 기능 처리 -DB 관리 (연결, 해제, 자원 관리)
[스파르타 스프링 심화] 01.09. AllInOneController(절차지향) 의 문제점 ##AllInOneController 코드 설명 : Service, Repository 없이 컨트롤러만으로 절차지향으로 코드를 작성했다. => 문제점이 발생!! -관심상품 등록 API -관심상품 최저 희망가 업데이트 API 1. 문제점 -위의 사진에서 보듯 모든 부분을 절차지향 적으로 작성하면 코드가 길어저 가독성이 떨어진다 -오류가 날 확률이 높아진다. -수정하기도 힘들다. 2.해결 :객체지향 프로그래밍으로 코드를 다시 작성한다.
[스파르타 스프링 심화] 01.08 Controller 의 역할 ##Servlet 과 Controller : Servlet 은 스프링의 3계층 없이 서버에서 자바로 직접 웹페이지 동적으로 생성한다. - 단점: Servlet 으로 코드를 작성하면 컨트롤러에 비해 코드가 2배 정도 증가한다. ##@Controller vs @RestController 1.Controller : 컨트롤러가 아래의 사진처럼 요청이 들어오고 나서부터 많은 부분을 처리한다. 2.@Controller의 html 반환 1 2 3 4 5 6 7 8 9 10 @Controller class ExamController { @Autowird private ProductRepository productRepository @GetMapping("/product/list") public @ResponseBody..
[스파르타 스프링 심화] 01.07 나만의 셀렉샵 API 동작 검증하기 ##Advanced Rest Client (ARC)를 사용한 API 동작 검증 1.관심 상품 등록을 위한 JSON 1 2 3 4 5 6 { "title": "Apple 에어팟 2세대 유선충전 모델 (MV7N2KH/A)", "image": "https://shopping-phinf.pstatic.net/main_1862208/18622086330.20200831140839.jpg", "link": "https://search.shopping.naver.com/gate.nhn?id=18622086330", "lprice": 77000 } Colored by Color Scripter cs 2.희망 최저가 업데이트를 위한 JSON 1 2 3 { "myprice": 80000 } cs # 주의: 오류해결 All..
[스파르타 스프링 심화] 01.06 나만의 셀렉샵 API 구현하기 ##나만의 셀렉샵 api 1. 네이버 api로 검색목록 가져오기 2. 관심상품 등록하기 3. 관심상품 최저가격 업데이트 하기 4. 관심상품 목록 가져오기

반응형