▶자바 빈과 스프링 빈
java bean | spring bean | |
개념 | jsp에서 주로 사용되는 것으로 자바 코드로 작성된 class, 데이터 전달 | Spring IoC 컨테이너에 의해 관리되는 객체 |
scope | page, request, session, application로 나뉘게 되어 언제 소멸하는지 | 싱글톤으로 관리되는가 |
java bean 규약
- 클래스는 패기지화 되어야 함
- 멤버 변수는 property(프로퍼티)라고 부름
- 접근제한자는 private
- 외부 접근은 게터, 세터로 접근
▶Bean Definition Abstract
빈디피니션은 추상화돼있음 (다양한 형태로 빈 데이터를 받아야 하기 때문 class, xml, xxx)
클래스가 전달되면 Bean Definition의 구현체 annotatedGenericBeanDefinition 생성,
해당객체에서 전달하는 빈 메타정보를 가지고 Spring Contatiner에서 빈 생성
▶@Component와 @Bean의 차이
@Component :class 레벨, 내부에서 생성한 클래스에 사용, 스프링이 런타임시에 컴포넌트 스캔을 하여 자동으로 빈을 찾고 등록하는 애노테이션
@Bean: 메서드 레벨,외부라이브러리를 이용해 생성한 객체를 개발자가 수동으로 빈 등록할 때 사용하는 애너테이션
어느시점에 컴포넌트/빈을 사용할지를 아는 게 중요
스프링부트 내부에도 컴포넌트스캔 애노테이션이 있음
'부트캠프 기록 > Serction2' 카테고리의 다른 글
[Spring Core] AOP (0) | 2022.10.20 |
---|---|
부트캠프 2달차 KPT 회고 (0) | 2022.10.19 |
[Spring Core] spring container 와 bean (0) | 2022.10.14 |
MySQL 설치 오류: installer 중단 (0) | 2022.10.08 |
MySQL 실행 오류: Could not acquire management access for administration, MySQL 서비스가 로컬 컴퓨터에서 시작했다가 중지되었습니다. (0) | 2022.10.08 |