Spring FrameWork
Provides core support for dependency injection , transaction management, web apps, data access, messaging and more.
목표
스프링의 핵심 기술에 대해 학습합니다. 구체적으로는 스프링 IoC(Inversion of Control) 컨테이너와 빈 그리고 스프링 AOP(Aspect Oriented Programming) 에 대해 학습합니다. 또한 스프링이 제공하는 여러 기능의 기반이 되는 Resource, Validation , 데이터 바인딩과 같은 스프링의 여러 추상 API 와 Null 에 관련 유틸리티도 학습합니다.
학습 목표
- 스프링 프레임워크의 핵심 기술 IoC, AOP, PSA 를 이해합니다.
- 스프링 프레임워크 IoC 컨테이너의 다양한 기능을 사용할 수 있습니다.
- 다양한 방법으로 빈을 정의하고 의존관계를 주입할 수 있습니다.
- 스프링 AOP 를 사용하여 Aspect를 모듈화 할 수 있습니다.
- 그 밖에 다양한 스프링 핵심기술을 이해하고 또 활용할 수 있습니다.
학습 목차
- IoC 컨테이너와 빈
- 리소스
- Validation
- 데이터 바인딩
- SpEL
- 스프링 AOP
- Null-Safety
스프링의 역사
● 2003년 등장 (개발은 이미 그 이전부터 진행됐고)
○ 등장시 Java EE 표준과 싸우는 것처럼 보였지만 실제론 JEE 스팩 구현
모음체(+알파).
○ Servlet, WebSocket, Bean Validation, JPA, Dependency Injection, ...
● 최근까지 주로 서블릿 기반 애플리케이션을 만들 때 사용해 옴.
● 스프링 5부터는 WebFlux 지원으로 서블릿 기반이 아닌 서버 애플리케이션도 개발할
수 있게 됨.
디자인 철학
● 모든 선택은 개발자의 몫. (예, 스프링이 특정 영속화 기술을 강요하지 않는다.)
● 다양한 관점을 지향한다. (유연성)
● 하위 호환성을 지킨다. (노력)
● API를 신중하게 설계 한다. (공들인다.)
● 높은 수준의 코드를 지향한다. (자랑)
스프링 프레임워크 레퍼런스
https://docs.spring.io/spring-framework/docs/current/reference/html/index.html
스프링 도큐먼트
https://docs.spring.io/spring-framework/docs/current/reference/html/index.html
참고 문헌
백기선님의 스프링 프레임워크 핵심 기술 강좌
https://velog.io/@wickedev/IoC-DIP-IoC-Container-DI-DI-Framework-도대체-그게-뭔데
'스프링, 자바' 카테고리의 다른 글
백기선 라이브 스터디 5주차 과제 클래스 (0) | 2020.12.19 |
---|---|
스프링 IoC 컨테이너와 빈 개념 (0) | 2020.12.18 |
jwt 자바 (0) | 2020.12.04 |
스프링, 직접 response 하는 법 (0) | 2020.12.04 |
why we use spring? (0) | 2020.12.02 |