스프링 컨테이너에 클래스를 등록하면 스프링이 클래스의 인스턴스를 관리한다.
→ 직접 new 연산자를 이용해서 인스턴스를 생성했던 작업을 스프링에 위임할 수 있다.
→ 소스 코드 상에서는 인스턴스 생성에 대한 부분은 신경 쓰지 않고 개발할 수 있다.
빈(Bean)
- 스프링이 IoC 방식으로 관리하는 오브젝트 (스프링이 직접 생성과 제어를 담당한다.)
빈 팩토리(BeanFactory)
- 스프링이 IoC를 담당하는 핵심 컨테이너
- Bean을 등록, 생성, 조회, 반환하는 기능 담당
- 일반적으로 BeanFactory를 바로 사용하지 않고, 이를 확장한 ApplicationContext를 이용한다.
어플리케이션 컨텍스트(Application Context)
- BeanFactory를 확장한 IoC 컨테이너
스프링 컨테이너에 빈(bean)을 등록하는 방법
1. XML
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="XXX" class="XXXXXXX"></bean>
</beans>
1line: XML 선언
2line: xsd 파일 선언 - bean 태그를 사용하기 위해서는 spring-beans.xsd 파일이 필요하다.
<bean id="XXX" class="XXXXXXX"></bean>
<bean id="XXX" class="XXXXXXX" scope="XXXXXXXXXXX"></bean>
id: 참조에 사용할 값 (클래스명의 소문자 형태)
class: 실제 클래스 파일 경로
scope: default는 싱글톤. prototype으로 할 경우 쓸 때마다 새로 만든다.
2. Annotation
Stereotype annotation: 빈 자동등록에 사용하는 annotation
- @Repository
- @Service
- @Controller
- @Component
'Web > Spring' 카테고리의 다른 글
FIle Upload (1) | 2021.05.06 |
---|---|
Spring에서 swagger 쓰기 위해 (0) | 2021.05.04 |
Spring에서 JSP 쓰기 위해 (0) | 2021.05.04 |
MyBatis (0) | 2021.05.01 |
@Qualifier (0) | 2021.04.30 |