컨테이너

1. 톰캣: 서블릿 컨테이너, 웹 서버 (내장)

2. 스프링 컨테이너: POJO 클래스를 new 해줌 (ex. DAO, DTO, Action, ...)

3. 루트(최상위) 컨테이너: .jar(라이브러리)를 관리해줌, 설정 관련 컨테이너, 얘도 스프링 컨테이너라고 부름

 

pom.xml

설정 파일의 갯수 == 컨테이너의 갯수

1. 톰캣(web.xml)

2. 스프링 컨테이너(applicationContext.xml)

3. 루트 컨테이너(pom.xml)

 

스프링 프레임워크에서는 클릭하면 해당 라이브러리들을 알아서 주입해줌

다만 MySQL이나 최신 라이브러리들은 개발자가 추가로 설정해야할 수도 있음

톰캣을 내장 서버로 가지고 있음

 

xml 에 설정들이 많아지면

- 개발자에게 부담이 됨

- 작은 에러라도 발생한다면, 프로그램 실행이 안 된다

그래서 스프링에서 과도한 설정을 줄여주기 위해 @(어노테이션) 기능을 개발함

 

어노테이션

스프링은 xml과 어노테이션 모두 활용

스프링부트는 어노테이션 활용을 극대화함

 

어노테이션은 개발자 가독성이 증가하고

xml 접근을 줄여줌

java 파일에 작성함

 

@Component("name")

new 연산자 같은 역할

 

@Autowired

의존성 주입

메모리의 자료형을 인지하고 연결해주는 역할을 수행함

유니크 빈이 아니면 에러가 난다

이를 해결하기 위해 @Qualifier를 같이 해줌

 

@Qualifier("name")

빈이 여러개인 경우 이름을 지정하기 위해 사용

이 어노테이션이 없으면 유니크 빈이구나 유추 가능

 

@Service("name")

@Component를 상속받은 어노테이션

 

모델에 가까운 컨트롤러를 서비스라고 함

가독성이 좋아짐

 

스프링 컨테이너가 메모리 관리할 때, 같은 어노테이션끼리 묶어서 관리함

 

@Repository("name")

@Component를 상속받은 어노테이션

DAO 파트를 생성할 때 사용

'-- 기타 -- > IT KOREA 국비 지원 강의' 카테고리의 다른 글

[Spring] 자체 프레임워크로 이관  (0) 2024.03.05
[Spring] AOP  (2) 2024.02.29
DI(Dependency Injection) 의존성 주입이란?  (0) 2024.02.27
Spring 정리  (0) 2024.02.26
[디자인 패턴] MVC의 특징  (1) 2024.01.25

+ Recent posts