-
[토비의 스프링 3.1 Vol.1] 8장 스프링이란 무엇인가?Java/Spring Framework 2018. 3. 25. 22:10728x90반응형
[사족]
토비의 스프링은 미괄식 구성이다. 1 ~ 7장에서 스프링을 사용하면서 장점과 특징들을 일단 살펴보고 나서야 8장에서 스프링이 무엇인지 알려주기 때문이다(스프링이 뭔지 아는데 700페이지나 지나서 알게 되었네!). 이제 1권은 9장만 남겨두고 있다. 1권 다 보면 당분간은 다른책 보는 비중을 좀 늘려야겠다.
[내용]
8장의 목차
8.1 스프링의 정의
8.2 스프링의 목적
8.3 POJO 프로그래밍
8.4 스프링의 기술
8.5 정리
사실상 자바생태계에서는 표준이 된 스프링이지만, 자바상태계를 잘 모르는 개발자에게 스프링이 뭔지 간단히 소개해야한다면 어떻게 말해줄 수 있을까? 그에 대해 가장 잘 알려진 정의는 다음과 같다고 한다. 각 수식어들에 대한 설명은 책을 참고하면 좋을 것 같다.
자바 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크 (p. 714)
스프링은 비침투적인 방식을 사용해 EJB가 실패한 점들을 이겨냈다. EJB(Enterprise Java Bean)는 스프링이 나오기 전에 주로 사용하던 자바 엔터프라이즈 프레임워크인데, 애플리케이션 개발을 용이하게 해주려고 등장 하였으나 다른 면에서 더 큰 부담을 안기게 해주었다. EJB는 침투적인 기술로서 EJB를 사용하기 위해서는 특정 기술에 종속된다거나, 특정 클래스를 상속 받아야 하는 등의 제약이 있었다. 그에 반에 스프링은 POJO(Plain Old Java Object, 쉽게 말해 순수 자바 객체)를 사용해서 개발이 가능하다.
스프링의 핵심은 POJO를 사용한 IoC/DI, AOP 그리고 PSA(Portable Service Abstraction)이다. AOP와 PSA는 모두 DI를 사용했기에 가능한 기법이기도 하다.
반응형'Java > Spring Framework' 카테고리의 다른 글
[토비의 스프링 3.1 Vol.1] 부록(스프링 모듈, 스프링 의존 라이브러리) (0) 2018.04.07 [토비의 스프링 3.1 Vol.1] 9장 스프링 프로젝트 시작하기 (0) 2018.04.01 [토비의 스프링 3.1 Vol.1] 7장 스프링 핵심 기술의 응용 (0) 2018.03.23 [토비의 스프링 3.1 Vol.1] 6장 AOP (0) 2018.02.20 [토비의 스프링 3.1 Vol.1] 5장 서비스 추상화 (0) 2018.01.16