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 파일 접근이 줄어 오류확률이 낮아짐