Spring
Spring Framework_컨테이너 & 빈 관리
onivv
2024. 2. 29. 08:25
최종 프로젝트_Spring Framework 컨테이너 3개 사용
(스프링에서 제공해주는 컨테이너 2개 == 스프링 컨테이너, 루트 컨테이너)
#1 컨테이너 종류 및 역할
1. 서블릿 컨테이너 (웹 서버, 톰캣)
- 내장 서버(설치 xx)
- Servlet 클래스를 new(생성) 해줌 (ex. FrontController)
2. 스프링 컨테이너
- POJO 클래스를 new 해줌 (ex. DAO, DTO, Action류)
- 코드 내에서 new 역할을 담당하는 컨테이너
3. 루트(최상위) 컨테이너
- .jar(라이브러리)를 관리
- 스프링에서 제공해주다보니까 스프링 컨테이너라고 불리기도함
- 설정에 대한 이야기를하면 루트 컨테이너를 말한다고 알아들으면 됨
#2-1 XML 설정 파일
: 컨테이너가 구동되려면 설정 파일(.xml)이 필요함
: 스프링은 XML 기반의 설정 파일을 사용해서 컨테이너를 구성하고 빈들을 정의함
: 개발자는 XML 설정 파일에 빈의 정의를 작성해 컨테이너가 해당 빈을 생성하고 관리하도록 함
1. web.xml
- 서블릿 컨테이너 설정 파일
- 서블릿 매핑, 필터, 리스너 등을 설정
2. applicationContext.xml
- 스프링 컨테이너 설정 파일
- bean 객체 생성 및 의존성 주입 설정
- AOP 설정
- 트랜잭션 설정
3. pom.xml
- 루트 컨테이너 설정 파일 (프로젝트의 전반적인 설정)
- Spring Framework에서 사용하는 라이브러리(.jar)를 자동으로 주입
- 다만, MySQL이나 최신 라이브러리는 개발자가 직접 설정해야할수도 있음
#2-2 @어노테이션과 자바 설정
- 스프링에서 과도한 설정을 줄여주기 위해 @(어노테이션) 기능을 개발
- @어노테이션은 개발자 가독성 증가 + xml 파일 접근을 줄여 오류 확률이 낮아짐
- .java에 작성되어 자바코드와 설정을 한눈에 볼 수 있음 → xml 파일 접근이 줄어 오류확률이 낮아짐