이번에는 스프링이 클래스 세트들을 관리해주도록 하기 위해 스프링 빈을 만드는 과정이다.
Spring Bean(스프링 빈)이란?
Spring IoC 컨테이너가 관리하는 자바 객체이다.
JVM 내부에서 Spring 컨텍스트를 생성하고 이름이 생성된 Bean을 만들면 된다.
Configuration Class를 생성하여 Spring Context를 시작할 수 있다.
설정 클래스로 사용할 Java Class를 생성해주고 위와 같이 @Configuration을 추가해주어 설정 클래스라는 것을 나타낸다.
위의 설명에서 볼 수 있듯 생성한 이 Java 클래스가 하나 이상의 Bean 메서드를 선언함을 확인 할 수 있다.
이제 spring Context를 실행시켜보자.
AnnotationConfigApplicationContext를 사용하면 JVM 내 Spring Context를 사용할 수 있다.
앞서 생성한 설정파일을 이용하여 인스턴스를 생성해주면 된다.
이제 이 Spring에 Bean을 관리하라는 명령을 내려주어야 한다.
설정 파일에 사용할 Bean 메소드를 생성하고 @Bean을 통해 Bean을 호출한다.
나는 name이라는 이름의 객체를 생성해주었다.
이제 context 변수를 만들어두었던 Java 파일에서 Bean 메소드를 호출하여 진짜로 Spring이 객체를 관리하고 있는지 확인할 것이다.
context.getBean( ) 명령어를 사용해주면 된다.
Bean을 검색하고 불러주는 방식은 위와 같다.
객체의 이름을 " " 쌍따옴표 안에 넣어주면 된다.
그리고 이를 콘솔창으로 불러주기 위해 System.out.println( )을 사용해주었다.
콘솔창의 출력을 통해 실제로 Spring이 Bean을 관리하고 있음을 확인할 수 있다!!
여러 값을 출력하는 Bean 메소드를 만들고 싶다면 Record를 사용하면 된다.
아래처럼!
출력 방식은 다른 Bean들과 똑같다.
Bean의 이름을 자신만의 이름으로 만들어주고싶다면
@Bean(name = "원하는 이름") 을 사용해주면 된다.