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에 필요한 플러그인을 설치해야 합니다.
Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.
LinkedIn