HOWTO · Java

Java Spring Boot의 Autowire

이 튜토리얼에서는 Java Spring Boot의 @autowire 주석에 대해 설명합니다.

이 페이지의 내용

Spring Boot는 널리 사용되는 Java 프레임워크입니다. Spring Boot에서 가장 많이 사용되는 어노테이션은 @Autowired로 주로 bean을 자동으로 수집하는데 사용된다.

이 기사에서는 Java Spring Boot의 @Autowired에 대해 설명합니다.

@Autowired 주석에 사용된 모드

다음은 @Autowired 주석에 일반적으로 사용되는 모드입니다.

모드 설명
no 이것은 autowiring의 기본 모드이며 기본적으로 autowiring을 비활성화합니다.
byName 이 모드는 빈의 이름에 따라 개체 종속성을 주입합니다.
byType 이 모드는 빈의 유형에 따라 개체 종속성을 주입하며 세터 메서드라고도 합니다.
constructor 이 모드는 생성자를 호출하여 개체 종속성을 주입합니다.

Java Spring Boot에서 @Autowired 활용

먼저 상위 클래스에서 autowired하려는 ClassB라는 클래스를 만듭니다. 이 클래스의 코드 예제는 다음과 같습니다.

package com.sample.demo;
import org.springframework.stereotype.Component;

@Component
public class ClassB {
  void showMSG() {
    System.out.print("This is autowired !!!");
  }
}

이 자식 클래스에는 showMSG()라는 메서드가 포함되어 있으며 @Componant 주석을 사용하여 bean 구성 요소로 선언했습니다. 이제 부모 클래스를 살펴보겠습니다.

아래는 부모 클래스의 코드입니다.

package com.sample.demo;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component
public class ClassA {
  @Autowired ClassB b;

  void getMSG() {
    b.showMSG();
  }
}

부모 클래스에서 ClassB를 자동 연결했으며 이 클래스에는 getMSG()라는 메서드가 포함되어 있습니다. @Componant 주석을 사용하여 이 클래스를 bean 구성 요소로 선언했습니다.

이제 핸들러 클래스를 살펴보겠습니다.

package com.sample.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ApplicationContext;

@SpringBootApplication
public class DemoApplication {
  public static void main(String[] args) {
    ApplicationContext context = SpringApplication.run(DemoApplication.class, args);
    ClassA a = context.getBean(ClassA.class);
    a.getMSG();
  }
}

여기에서 context에서 ClassA의 bean을 가져옵니다. 그런 다음 bean에서 getMSG() 메서드를 호출했습니다.

출력:

This is autowired

이 기사에서 공유하는 코드 스니펫은 Java Spring Boot 프레임워크로 작성되었습니다. 이 프로그램을 실행하기 전에 IDE에 필요한 플러그인을 설치해야 합니다.