★ refrence
https://www.inflearn.com/course/lecture?courseSlug=%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8
-
핵심기술
-
웹 기술
- 웹 기술 : 스프링 MVC , 스프링 WebFlux
- 데이터 접근 기술 : 트랜잭션, JDBC, ORM 지원 , XML 지운
-
기술 통합
-
테스트
-
언어
-
스프링 부트
- 스프링을 편리하게 사용할 수 있도록 지원, 최근에는 기본으로 사용
- 단독으로 실행할 수 있는 스프링 어플리케이션을 쉽게 생성
- Tomcat 같은 웹 서버를 내장해서 별도의 웹 서버를 설치하지 않아도 됨
- 손쉬운 빌드 구성을 위한 starter 종속성 제공
- 스프링과 3rd parth(외부) 라이브러리 자동 구성
- 매트릭, 상태확인, 외부 구성같은 프로덕션 준비 기능
- 관례에 의한 간결한 설정
★ 스프링의 핵심 기능
- 자바 언어 기반의 프레임워크
- 자바 언어의 가장 큰 특징 - 객체 지향 언어
- 객체 지향 언어가 가진 강력한 특징을 살려내는 프레임워크
- 좋은 객체 지향 어플리케이션을 개발할 수 있게 도와주는 프레임워크
** 즉, 스프링이 제대로된 객체지향 프로그래밍을 할 수 있도록 도와주는 도구
★ 스프링과 객체 지향
- 다형성이 가장 중요!!
- 스프링은 다형성을 극대화해서 이용할 수 있게 도와준다
- 스프링에서 이야기하는 제어의 역전(IoC), 의존관계 주입(DI)은 다형성을 활용해서 역할과 구현을 편리하게 다룰 수 있도록 지원한다.
- 스프링을 사용하면 마치 "레고 블럭 조립하듯이!", "공연 부대의 배우를 선택하듯이!" 구현을 편리하게 변경할 수 있다.