너와 나의 프로그래밍

Spring Framework - Annotation 기반 설정 - 1 본문

Back-End/Spring Framework

Spring Framework - Annotation 기반 설정 - 1

Whatever App's 2020. 7. 11. 22:38

 

 


[Spring] Annotation 기반 설정 - 1



스프링 컨테이너는 xml로 설정을 하는데 있어 과도한 설정에 부담도 클 뿐더러 가독성도 점차 떨어지는 문제가 발생한다. 프로젝트의 규모가 커지면 커질수록 유지보수에 있어서도 좋지 않다.

 

 

그래서 스프링 프레임워크는 어노테이션(Annotation)을 지원한다.

 

 

어노테이션은 기본 Java를 공부하면서 많이 사용된다. 예를들어 Junit을 위한 @Test 어노테이션이라든지 아주 흔히 보는 @Override가 대표적인 어노테이션 기법이다.

 

 

이 중 스프링 프레임워크에서 자주 쓰이는 어노테이션을 소개하려고 한다.

@Component 

@Component("id 또는 name")

@Component 어노테이션은 기존 스프링 컨테이너 설정 파일인 xml 파일에 bean을 추가하여 관리했던 것들을 클래스 선언부 위에 @Component를 선언 해주는 것으로 자동으로 bean 등록이 가능하다.

 

 

그 전에 스프링 컨테이너 설정을 위해 만들었던 xml 파일에 context 설정을 하고 <context:component-scan> 설정을 한다.

 

 

(xml 설정)

 

 

 

<context:component-scan>의 base-package는 패키지 명으로 설정하되 그 패키지 명의 안에 있는 클래스 파일들이 모두 스캔 대상으로 이루어지며 컴포넌트로 사용할 수 있다.

 

 

간단한 @Component 어노테이션의 대한 예제를 살펴보자.

 

 

 

 

특별한 것은 없지만 클래스 위에 @Component 어노테이션만 주입해주면 xml에 번거롭게 bean을 등록 할 필요가 없어진다.

 

@Component는 그대로 사용해도 되지만 @Component("id또는 name")을 이용하여 해당 클래스를 커스텀하게 사용할 수도 있다.

 

 

이때 @Component를 그냥 사용하게 된다면 규칙에 의해 클래스의 첫 글자를 소문자로 변경하여 자동으로 bean이 주입된다. 예를들어 Kia라면 kia가 되는 것이다.

 

반응형