-스프링은 Framwork이다
-스프링은 오픈소스이다.
-스프링은 ioc컨테이너를 가진다
ioc컨테이너(inversion of controll):주도권이 스프링한테 있다.
-스프링은 DI를 지원한다.(Dependency injection):의존성 주입
-스프링은 엄청나게 많은 필터를 가지고 있다. 필터는 권한을 체크함
톰캣이 가지고 있는 필터 : 필터
스프링컨테이너가 가지고있는 필터 : 인터셉터(AOP)
-스프링은 엄청나게 많은 어노테이션을 가지고있다.(리플렉션, 컴파일체킹)
어노테이션:주석은 컴파일러가 무시하는데 어노테이션은 컴파일러가 뭔가를 체킹할 수 있도록 힌트를 주기때문에 컴파일러가 무시를 하지 않는다.(주석 + 힌트)
스프링에서는 어노테이션으로 주로 객체 생성을 한다.
리플렉션 : 어떤 클래스 내부에 어떤 필드, 메소드, 어노테이션 어떤 것들을 들고있는지 분석하는 기법인데 런타임 시 분석한다.
-스프링은 MessageConverter를 가지고 있다. 기본값은 현재 Json이다.
자바프로그램과 파이썬이 서로 요청을 할때 중간언어로써 사용될 수 있는 그런거임
-스프링은 BuffereadReader와 BufferedWriter를 쉽게 사용할 수 있다.
영어 한 문자가 8bit이기 때문에 8bit씩 끊어읽어! 그럼 한 문자씩 받을 수 있을거야하고 해서
8bit = 1byte : 통신단위가 되었다. 한국은 2byte
전세계적으로 각자 표현하고자 하는 문자의 바이트 수가 다르다.
그래서 통신할때 여러개의 문자가 담긴 배열로도 문자를 받을 수 있는데
맥스치가 있다보니 맥스를 정해두면 낭비되는 데이터가 있다.
그래서 BufferedReader로 데이터를 받게되면 가변길이의 문자를 받을 수 있다.
BuffereadReader와 BufferedWriter : 바이트 스트림을 통해서 데이터를 전송할때 전송단위가 문자열로 가변 길이의 데이터를 쓰게 해주는 클래스이다. 그리고 우리가 사용할 때 이 클래스를 구현할 필요없이 @Response라는 어노테이션을 제공해준다. 데이터를 받을 때는 @RequestBody사용하면 버퍼드리더가 적용한다.
-스프링은 계속 발전중이다.
'공부중 > 스프링부트 개념정리' 카테고리의 다른 글
스프링부트 개념정리(5) - 스프링 컨테이너 (0) | 2023.12.27 |
---|---|
스프링부트 개념정리(4) - web.xml (0) | 2023.12.27 |
스프링부트 개념정리(3) - 서블릿 컨테이너, 톰캣 (0) | 2023.12.26 |
스프링부트 개념정리(2) - JPA (0) | 2023.12.19 |
댓글