본문 바로가기
Category/Spring

[Spring] 어노테이션을 이용해서 Bean 객체 생성하기

by developer__Y 2023. 12. 18.

Spring Bean Configuration File을 사용하지않고 Java Class에서 @configuration을 이용하여
스프링 빈에 객체를 등록하는 방법

 

기존의 xml 설정파일을 이용하지않고, JAVA Class 파일을 통해서 스프링 빈에 객체를 등록할 수 있다.

 

pom.xml 설정에 CGLIB dependency 추가하기

 

 

 

CGLIB(Code Generator Library)

: 인터페이스없이 바이트 코드를 조작해서 동적으로 객체를 생성해주는 라이브러리

 

Java Class 파일에서 스프링 Bean으로 객체를 생성하여 등록해주기위해

pom.xml 파일에 CGLIB 디펜던시를 추가해준다.

 

 

 

Student 클래스는 다음과 같은 필드와 name, age, ArrayList 타입의 hobbys를 생성자로 가지고있고,

각 필드들의 getter,setter가 있다.

 

 

 

그리고 Java Class에 @Configuration 어노테이션을 이용해

해당 Class가 스프링 빈 설정파일이라는 것을 선언하고,

@Bean 어노테이션을 이용해 Bean에 등록할 객체를 선언한다.

해당 객체는 메서드 형태로 객체에 정보를 담는다. (메서드 이름 : 객체명)

 

 

메인 클래스에서 AnnotationConfigApplicationContext 생성자로

@Configuration 선언한 JAVA Class 파일을 담아 객체를 생성하고, getBean() 메서드를 통해

스프링 빈으로부터 객체를 얻을수있다.

 

 

AnnotationConfigApplicationContext 는 스프링 빈 ApplicationContext를 상속받는 하위인터페이스로,

어노테이션을 통한 스프링 빈 설정을 하기위한 기능이다.

Spring Bean Configuration File 파일의 xml 설정을 사용하는 인터페이스는 

GenericXmlApplicationContext 인터페이스이다.