Spring Framework Java 구성 파일에서 자동 연결 구현

Soo·2024년 2월 26일

이번 포스팅에서는 @Configuration을 사용해서 스프링 컨테이너에 설정 파일을 등록하고 @Bean을 등록하고 사용하는 법을 기록하겠습니다.

Spring Bean

Spring Container가 관리하는 컴포넌트

Spring Bean의 특징

  1. @Bean(name="address")와 같이 사용자 지정 이름을 설정할 수 있습니다.
  2. 다양한 방식으로 Spring Bean 검색이 가능 합니다.
    • x.getBean("BeanName") : Bean 이름을 통한 검색
    • x.getBean(Xxxx.class) : 클래스 이름 통한 검색
  3. 스프링에서 사용하는 기존 Bean을 사용하여 새로운 Bean 생성이 가능 합니다.
    • person3Parameters()를 보시면 기존의 name(), age(), address() 를 사용하여 만들어 졌습니다.
      //record를 사용하면 자동으로 Getter, Setter, Constructor를 생성해 준다.
      record Person(String name, int age, Address address){}
      record Address(String firstLine, String city){}
      
      @Configuration
      public class HelloWorldConfiguration {
      
          @Bean
          public String name() {
              return "Ranga";
          }
      
          @Bean
          public int age() {
              return 15;
          }
      
          @Bean
          public Person person() {
              return new Person("Ravi", 20, new Address("Main Street", "Utrecht"));
          }
      
          @Bean
          public Person person2MethodCall() {
              return new Person(name(), age(), address()); //Spring Bean으로 등록된 name, age, address 사용
          }
      
          @Bean
          public Person person3Parameters(String name, int age, Address address3) {
              return new Person(name, age, address3);
          }
      
          @Bean(name = "address2")
          public Address address() {
              return new Address("Baker Street", "London");
          }
      
          @Bean(name = "address3")
          public Address address3() {
              return new Address("Motinagar", "Hyderabad");
          }
      }

0개의 댓글