- [Spring]-스프링 IoC컨테이너와 Spring Bean(스프링 빈) 이란? 목차
[ Spring IoC 컨테이너 ]
-BeanFactory
-애플리케이션 컴포넌트의 중앙 저장소.
-빈 설정 소스로 부터 빈 정의를 읽어들이고, 빈을 구성하고 제공한다.
-Inversion of Control : 의존 관계 주입(Dependency Injection) 이라고 한다.
-의존 객체를 직접 만들어 사용하는게 아니라 , 주입 받아 사용하는 방법
의존성 주입을 하고 싶을 경우 bean이 되어야한다.
[ bean ]
Spirng IOC 컨테이너에 등록되는 baen들은 기본적으로 single ton Scope로 등록이 된다.
-single ton ->1개만 만들어서 사용하는 것.
-프로토타입 ->매번 다른 객체를 만들어서 사용하는것.
bean으로 등록 되면 좋은 장점
-라이프사이클 인터페이스 지원.
-ex)어떤 bean이 등록 되었을때, 무엇인가 하고 싶다. (가) 가능
bean을 설정할때
ref 뒤에는 다른 bean의 id값이 와야함
ex)
<bean id="bean1" class="">
<property name="setter" ref="다른bean의 id" />
</bean>
하지만 !
이러한 방법들이 굉장히 번거롭기 때문에
등장한 녀석이 "<context:component-scan=""/> 이다.
이 패키지부터 bean을 스캐닝 하여 등록하겠다는 의미이다.
기본적으로
"@Component"
"@Repository"
라는 에노테이션을 이용하여 등록이 가능하다.
이 과정은 주입 과정이 없이 때문에 "Autowired"라는 것을 사용하여 bean주입을 받을 수 있다.
[ ApplicationContext ]
-BeanFactory를 상속받음.
-BeanFactory가 가지고 있는 기능을 외에 더 많은 기능을 가지고 있음.
-메시지 소스 처리 기능(i18n)
-이벤트 발행 기능
-리소스 로딩 기능
'Spring' 카테고리의 다른 글
[Spring] @Component Scan 컴포넌트 스캔? (0) | 2020.01.13 |
---|---|
[Spring] @Autowired 란? (0) | 2020.01.12 |
[Spring]RedirectAttributes (0) | 2020.01.05 |
Springframework, Ajax에서 한글이 물음표로 나오는 현상 (0) | 2020.01.05 |
[spring]스프링 Mybatis DB연결 (0) | 2019.12.16 |