wdwd

Spring 개론 본문

Spring Framework

Spring 개론

sang0 2019. 12. 18. 01:12

▶EJB (Enterprise Java Bean)
Java bean이란 자바 객체를 재사용 가능하게 컴포넌트화 시킬 수 있는 코딩 방침을 정의한 것을 의미.
( bean은 쉽게 component 또는 객체라고 이해하면 됨)

▶Spring 탄생 배경
1. DAO에서 사용하는 메서드는 고작 3개인데, EJB 스펙을 지키기 위해 여러 클래스를 상속 받아야 하고,
구현해야 하는 클래스가 많다보니 DAO 자체의 메서드보다 EJB를 사용하기 위한 코드가 많아짐.
2. 벤더 사마다 EJB 컨테이너를 구현한 내용이 다르기 때문에 다른 벤더 사의
컨테이너로의 변경에 어려움이 있었고, 설정이 너무 복잡하다는 문제점이 부각되기 시작.

이런 문제들이 발생한 이유는 비즈니스 로직에 특정 기술이 종속되어 있다는 것임.
이를 기술 침투라고 하는데, 이것이 EJB의 가장 큰 문제점임.

▶Spring의 장점
특정 기술에 종속되지 않고(기술 비침투적), 객체를 관리할 수 있는 컨테이너를 제공하게 해줌.
스프링은 WAS의 기능적인 부분을 유지하되 기술 침투적인 부분을 모두 해결해주며,
따라서 개발자는 비즈니스 로직에 집중할 수 있도록 해줍니다.

▶스프링 컨테이너
특정 클래스를 상속하거나 인터페이스를 구현하지 않는 평범한 자바 클래스(POJO, Plain Old Java Object)를 이용하여 EJB의 기능을 유지하면서 복잡성을 제거하고, 객체들의 라이프 사이클을 관리해줌.

▶Spring Container = Bean Factory = IoC Container
Spring Container = 객체들을 관리하는 bean Factory

▶의존성 주입(DI, Dependency Injection)
스프링 컨테이너에서는 의존성 주입 ( DI, Dependency Injection )을 통해 의존성을 해결
의존성 주입이란 사용자가 직접 new 키워드를 사용하여 객체를 생성하지 않고,
외부( 컨테이너 )에서 생성된 객체를 주입 받는 방식

▶제어 역전(IoC, Inversion of Control)
스프링에서는 이와 같이 의존성 주입을 통해 객체 간의 의존성 문제를 해결하며, 
객체의 생성과 소멸을 개발자가 관리하지 않고 스프링에서 관리하는데,
이러한 현상을 제어 역전 ( IoC, Inversion of Control )이라 합니다.

'Spring Framework' 카테고리의 다른 글

Spring Framework란?  (0) 2020.01.11
Spring 환경 설정  (0) 2019.12.18
SpringMVC  (0) 2019.10.23
MyBatis  (0) 2019.10.16
Spring Framework 구조  (0) 2019.10.16
Comments