Bean이란 무엇인가

권태용·2020년 10월 4일
1

Spring

목록 보기
2/3

Spring에서 Bean이란 무엇을까? 이를 이해하기 위해선 스프링 프레임워크의 특징을 이해하는 것이 좀 더 좋다고 생각된다.

Spring Framework

Spring Framework란 Java를 통해 애플리케이션을 설계, 구현, 운영할때 제공해주는 기반이다. 여기서 기반이란 추상적인 개념이다. 코딩을 할때 필수적인 요소와 애플리케이션별로 개별적인 요소를 분리해서 볼 수 있다. 이때 필수적인 요소를 IOC, DI, AOP개념으로 추상화하여 그 틀을 제공한다.

IOC, AOP

IOC(Inversion of Control)

제어의 역행 - 여기서 제어는 객체제어를 의미한다. 이전에 객체는 사용자가 만들고 처리하는 개념이였다. 하지만 이런 객체 관리를 Spring이 처리하는 것이다. 그럼 사용자는 객체를 정의하기만 하면 된다.

Bean

이때 Bean이란 개념이 나온다. Bean이란 Spring이 생명주기를 관리하는 객체이다. 이때 빈의 scope를 지정 할 수 있고 Singleton과 Proptotype으로 지정할 수 있다. proptotype은 객체 호출시에 매번 새롭게 생성하게 된다.

Bean Factory

이런 Bean을 사용할때 사용하는것이 BeanFactory다. BeanFactory를 통해 등록/생성/조회/제거가 가능하다.

DI(Defendency Injection)

의존성 주입 - 여기서 의존성이란 Bean과 Bean 사이의 관계를 의미한다. 클래스 내부에서 Bean을 사용하게 된다면 new를 통해 객체를 생성할 필요가 없다. 객체 관리를 Spring에 위임했기 때문이다.

AOP

위에서 말한 IoC는 객체 관리에서 스프링이 기반을 제공해준다면 AOP는 코드의 효율성을 위해 기반을 제공해준다. AOP를 통해 제공해주는 편의성은 반복되는 부분을 따로 정의하고 필요한 상황에 호출해서 Spring이 자동으로 맵핑을 해주게 된다.

profile
개발일기장

0개의 댓글