Java Bean Object (자바빈 객체)
- 데이터 클래스를 만들 때 자주 사용하던 클래스의 형태를 자바빈 객체라고 한다.
- 필드값(속성)의 접근 제어자는 private이어야 한다.
- 필드값에 대한 접근은 Getter/Setter를 통해 이루어져야 한다.
- 기본 생성자가 반드시 존재해야 한다. (다른 생성자를 쓰고싶다면 기본 생성자를 반드시 명시해줘야 한다.)
- 자바빈 스타일의 객체는 다양한 프레임워크, API, 라이브러리 등에서 기본 형태로 생각하기 때문에 반드시 지켜야 한다.
스프링이 자동으로 컨텍스트에 등록하는 어노테이션들
- @Component : 컨텍스트 로드시에 스프링이 자동으로 수거해가는 대상이 된다. 컴포넌트 스캔을 통해 특정 패키지의 컴포넌트들을 수거할 수 있다.
- @Controller : MVC 패턴에서 컨트롤러 역할을 하는 컴포넌트들을 표시해놓는 어노테이션.
- @Repository : MVC 패턴에서 모델 역할을 하는 컴포넌트들을 표시해놓는 어노테이션.
- @Service : MVC 패턴에서 비즈니스 로직을 수행하는 컴포넌트들을 표시해놓는 어노테이션.
@Autowired를 통한 의존성 주입
- @Autowired가 적용되어 있는 지원은 컨텍스트 영역에 등록된 컴포넌트들 중 알맞은 컴포넌트를 자동으로 찾아 인스턴스를 주입해준다.
- 생성자를 사용하지 않아도 스프링이 대신 인스턴스를 생성하여 주입해주기 때문에 클래스간의 결합도가 낮아져 유지보수성이 올라가는 효과가 있다.
컨텍스트에 빈(bean) 등록하기
- <bean>을 사용해 직접 등록하거나 컴포넌트 스캔을 통해 등록할 수 있다.
- 컨텍스트에 등록된 자바 객체는 빈(bean)이라고 부른다.
- 컨텍스트에 등록된 객체들은 알아서 적재 적소에 사용된다.
- 컨텍스트에 등록되는 객체들은 싱글톤 패턴으로 등록된다.
싱글톤 (Singleton)
- 애플리케이션 내에서 단 하나의 인스턴스만 가지고 있는 것이 보장되는 디자인 패턴
'Spring' 카테고리의 다른 글
[Spring] Lombok (0) | 2023.07.04 |
---|---|
[Spring] Log4j (0) | 2023.07.04 |
[Spring] JUnit (0) | 2023.07.04 |
[Spring] 메이븐(Maven) (0) | 2023.07.04 |
[Spring] 스프링 프레임워크란? (0) | 2023.07.03 |