-
[Spring] 스프링 빈(Bean) 이란?Spring Core 2024. 5. 30. 15:22
이글은 Spring Bean을 설명하는 글이다
이거에 앞서 Java Bean을 알고 싶으면 아래 글을 참고 하면 된다https://hyeonni.tistory.com/61
[Spring] Java Bean? Spring Bean?
이글은 Spring Bean을 설명하기에 앞서 Java Bean이 무엇인지 설명하는 글입니다 Java BeanJava로 작성한 객체이고 데이터 표현을 목적으로 한다 생성 관례1. 직렬화가 가능해야 함 다른 데이터 포맷
hyeonni.tistory.com
Spring Bean?
- 스프링 빈(Bean)은 스프링 컨테이너에 의해 관리되는 재사용 가능한 소프트웨어 컴포넌트이다.
- 스프링 컨테이너가 관리하는 자바 객체이다
- 스프링 컨테이너는 한개 이상의 빈(Bean)을 관리한다
- 즉, 빈은 인스턴스화된 객체를 의미하고 스프링 컨테이너에 등록된 객체를 스프링 빈(Bean)이라고 한다
사용하는 이유
스프링 간 객체가 의존관계를 관리하도록 하는 것이 가장 큰 목적이다
- 의존성 주입 (Dependency Injection)
- 스프링 빈을 통해 객체 간의 의존성을 관리할 수 있습니다. 의존성 주입을 통해 객체 간의 결합도를 낮추고, 코드의 유연성과 테스트 용이성을 높일 수 있다.
- 관심사 분리
- 비즈니스 로직과 시스템 서비스(트랜잭션, 보안, 로깅 등) 분리 할 수 있다
- 각 컴포넌트가 자신의 역할에 집중할 수 있게 된다
- 라이프사이클 관리
- 스프링 컨테이너는 빈의 생성, 초기화, 소멸 등의 라이프사이클을 관리 한다.
- 이를 통해 개발자는 객체의 생명주기를 직접 관리할 필요 없이, 객체 사용에 집중할 수 있다.
- 테스트 용이성
- 객체의 의존성을 쉽게 모킹(mocking) 할 수 있어 단위 테스트를 보다 용이하게 수행 할 수 있다
- 애플리케이션의 품질과 신뢰성을 높일 수 있다
- 컨테이너 관리 객체
- 스프링 빈은 스프링 컨테이너에 의해 관리되는 객체로 객체의 생성, 초기화, 소멸 등의 과정을 컨테이너가 관리한다
- 이를 통해 개발자는 객체 관리에 신경 쓰지 않고 비즈니스 로직 구현에 집중할 수 있다
이러한 장점들을 통해 스프링 빈을 사용하면 코드의 품질과 유지보수성을 높일 수 있다
'Spring Core' 카테고리의 다른 글
[Spring] IOC 제어의 역전 (0) 2024.07.01 [Spring] 스프링 빈(Bean) 등록 방법 (0) 2024.05.30 [Spring] Java Bean? Spring Bean? (0) 2024.05.28 SOLID 원칙 (0) 2024.04.30