Spring이란??
1. Frame work : 스프링은 짜여있는 틀 안에서 동작한다. frame=틀 work=동작하다.
2. 오픈소스 : 소스공개 !! 소스의 내부를 보기가 가능, 뜯어고치기 가능!
3. IoC (Inversion of control)컨테이너(=frame work)를 가진다. : 제어의 반전이란 주도권이 스프링에게 있다는 것
인스턴스 생성부터 소멸까지의 인스턴스 생명주기 관리를 개발자가 아닌 컨테이너가 대신 해줍니다.
객체관리의 주체가 frame work(컨테이너)가 되기 때문에 개발자는 로직에 집중할 수 있다.
("내가 필요할때 연락할께 연락하지마~"라는 개념으로 "HollyWood Principle" 이야기 하기도한다.)
4. DI (Dependency injection) 의존관계 주입 : A는 B에 의존하고 있다고 했을때 B가 변화 한다면 당연히 A도 변하게 된다. 이런 의존성을 줄여주는 역할을 하고 필요 할때 마다 Heap에서 꺼내와 쓸 수 있는 재사용성이 올라간다.
(DI를 사용한다고 반드시 IoC가 필요한것은 아니다!)
5. 스프링은 많은 필터를 가지고 있다. :
filter : web application 에서 관리 되는 영역
톰켓 : 흔히 WAS(web application service) 주로 xml파일을 편집해 설정, 요즘엔 톰켓이 다 embedded되어 있다.
인터셉터 : 컨트롤러에 URI에 접근하는 과정에서 무언가 제어할 필요가 있을 때 사용한다. 예로 로그인권한 관련,처리 등을 인터셉터를 이용해 효율적으로 처리 가능.
6.많은 어노테이션(@)을 가진다. : @=주석+힌트 나 어떤어떤거 할거야~라고 컴파일러에게 힌트를 주고 처리하는 역할.
7.Massage converter (Jackson):
한국어 <-> 스페인어, 한국어 <-영어-> 스페인어 영어에 역할을 한다.
Java<-> Python, Java <-json-> Python
8. BufferedReader/BufferedWriter : 통신 및 정보 전달을 할때 가변길이를 통해 데이터 낭비가 되지 않게 하는 기술
@responseBody -> BufferedWriter
@requestBody -> BufferedReader
스프링을 잘 사용하면 정말 개발하는데 봄이 올까요?
'개발과 > "Spring"이 왔나 봄' 카테고리의 다른 글
| localhost:8080 로그인 창이 뜨는 문제 (0) | 2023.11.16 |
|---|---|
| 첫 Mini project 자랑? 인증? ㅎㅎㅎ (0) | 2023.05.11 |
| troubleshooting : http statusCode (0) | 2023.05.11 |
| 세번째 봄 : AllInOneController의 한계. (0) | 2023.04.21 |
| 두번째 '봄'(Spring) : JPA (0) | 2023.04.17 |