ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [개인공부] 1/23
    Spring-Boot 2022. 1. 26. 19:57

    김영한씨 유투브

    spring-bootsyso를 쓰지 않고 log를 쓴다

                  logging -> logback + slf4l : 어떤 구현체로 출력할것인지

     

    라이브러리 살펴보기

    Gradle은 의존관계가 있는 라이브러리를 함께 다운로드 한다

     

    스프링부트라이브러리

    spring-boot-starter-web

                   spring-boot-starter-tomcat:톰캣(웹서버)

                   spring-webmvc : 스프링 웹 MVC

     

    spring-boot-starter-thymeleaf : 타임리프 템플릿 엔진(View)

     

    spring-boot-starter(공통)) : 스프링부트 + 스프링 코어 + 로깅

                   spring-boot : spring-core

                   spring-boot-starter-logging : logback, slf4j

     

    테스트 라이브러리

    spring-boot-starter-test

                   junit : 테스트 프레임워크

                   mockito : 목 라이브러리

                   assertj : 테스트 코드를 좀더 편하게 작성하게 도와주는 라이브러리

                   spring-test : 스프링 통합 테스트 지원

     

     

    view 환경설정

               static : 정적페이지

     

    스프링 웹 개발 기초

     

    @RequestParam(value=“name”, required= false) defaulttrue

     

    API 형식

    @ResponseBody : http에서 body부에 직접 넣어주겠다 -> 요청한 클라이언트에 그대로 내려감

                            (=html태그가 하나도 없음)

                            객체를 json방식으로 전송해줌

                  @ResponseBody를 사용하면 뷰 리졸버(‘viewResolver’)를 사용하지않음

                  대신에 HTTPBODY에 문자 내용을 직접 반환

     

                  HTTPBODY에 문자 내용을 직접반환

                  viewResolver 대신에 HttpMessageConverter가 동작

                  기본 문자처리 : StringHttpMessageConverter

                  기본 객체처리 : MappingJackson2HttpMessageConverter

                  byte처리 등등 기타 여러 HttpMessageConverter가 기본으로 등록 되어 있음

    참고 : 클라이언트의 HTTP Accept 헤더와 서버의 컨트롤러 반환 타입 정보 둘을 조합해서 HttpMessageConverter가 선택된다.

     

     

     

     

    일반적인 웹 어플리케이션 계층 구조

                  컨트롤러 : MVC의 컨트롤러 역할

                  서비스 : 핵심 비즈니스 로직 구현

                  리포지토리 : 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리

                  도메인 : 비즈니스 도메인 객체 ex) 회원, 주문, 쿠폰 등등 주로 데이터베이스에 저장하고 관리됨

     

    클래스 의존 관계

                  아직 데이터 저장소가 선정되지 않아서, 우선 인터페이스로 구현 클래스를 변경할 수 있도록 설계

                  데이터 저상소는 RDB, NoSQL 등등 다양한 저장소를 고민중인 상황으로 가정

                  개발을 진행하기 위해서 초기 개발 단계에서는 구현체로 가벼운 메모리가반의 데이터 저장소 사용

     

    //9강까지

    'Spring-Boot' 카테고리의 다른 글

    [개인공부] 1/26  (0) 2022.01.26
    [개인공부] 1/18  (0) 2022.01.19

    댓글

Designed by Tistory.