#1 #2 #3 스프링부트 개념 - 스프링의 핵심, 필터, 메세지 컨버터

myeonji·2022년 2월 12일
0

스프링부트개념

목록 보기
1/4

📢 인프런의 스프링부트 개념정리(이론) - 최주호님 강의를 듣고 작성한 글 입니다.

스프링이란?

  • 스프링은 프레임워크이다.

    • Frame(틀)work(동작하다)
  • 스프링은 오픈소스이다.

    • 소스코드 공개
  • 스프링은 IoC 컨테이너를 가진다.

    • Inversion of Control (제어의 역전)
    • 주도권 스프링!
    • Class : 설계도, Object : 실체화가 가능한 것, Instance : 실체화 된 것
    • 스프링이 직접 객체들을 스캔하여 heap 메모리에 띄움
  • 스프링은 DI를 지원한다.

    • IoC에서 스프링이 heap에 띄운 객체들은 그 자체로 딱 하나이고, 어디에서든지 사용할 수 있음 (싱글톤)
  • 스프링은 엄청나게 많은 필터를 가지고 있다.

    • 필터 == 문지기 (임무)
    • 톰캣 필터 : filter, web.xml
    • 스프링 컨테이너 필터 : Interceptor
  • 스프링은 엄청나게 많은 어노테이션을 가지고 있다. (리플렉션, 컴파일체킹)

    • 어노테이션 : 주석 + 힌트
    • 리플렉션 : 분석하는 기법 -> 런타임시 분석
  • 스프링은 MessageConverter를 가지고 있다. 기본값은 현재 Json이다.

    • 요청, 응답 둘 다 Json 데이터
    • 스프링의 라이브러리인 MessageConverter(Jackson)가 Json으로 바꿔줌
  • 스프링은 BufferedReader와 BufferedWriter를 쉽게 사용할 수 있다.

    • @RequestBody -> BufferedReader : 요청으로 들어오는 가변길이의 문자를 받을 수 있다.
    • @ResponseBody -> BufferedWriter (= PrintWriter) : 바이트 스트림을 통해 데이터를 전송하는데, 전송 단위가 문자열로 가변길이이다.
  • 스프링은 계속 발전중이다.

0개의 댓글