본문 바로가기

반응형

SpringBoot

(66)
[스파르타 스프링 심화] 01.12. 관심사 별 코드 분리해보기 ##AllInOneController -> 기능 별 controller,service,repository 3계층으로 리팩토링 하기 -아래의 코드는 절차지향이라 코드가 길고 복잡하게 보인다. 이것을 객체지향으로 바꾸자 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 9..
[스파르타 스프링 심화] 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. 관심상품 목록 가져오기
[스파르타 웹개발의 봄 spring] 06 완주 후기/ 수강 할인 링크 ##결과물 : 네이버 쇼핑 검색 api를 활용한 상품검색 및 관심상품 저장 taegyuchoi.shop ##수강 목적 진로를 백앤드로 정하고 스프링 부트를 공부할 수 있는 곳을 찾아보았지만. 백앤드의 개념과 스프링을 처음 접하는 나에겐 너무 어렵게 느껴졌다. 그래서 기초부터 공부할 수 있는 곳을 찾다보니 스파르타코딩을 알아보게 되었다. 초급자를 잘 가르친다고 알려져 있었기 때문이다. ##배운 점 / 잘한 점 -이 수업을 통해 스프링 부트에 대해서 익숙해지고 백앤드의 개념들을 알 수 있었다. 뿐만 아니라 jquery등 새로운 라이브러리를 접하면서 필수적인 기능들을 사용할 수 있게 되었다. 그리고 게시판 및 쇼핑검색 서비스를 end-to-end로 만들어 보면서 개발의 전체적인 흐름을 알 수 있었다. ##향후..

반응형