>  기사  >  Java  >  Java Spring의 주입 방법은 무엇입니까?

Java Spring의 주입 방법은 무엇입니까?

WBOY
WBOY앞으로
2023-05-03 12:04:161073검색

Spring의 범위를 설정

Java spring的注入方式有哪些


또는 열거형 값을 사용하여 설정

Java spring的注入方式有哪些

단일 사례 및 다중 수준 사용 시나리오

Java spring的注入方式有哪些

자동으로 주입

Java spring的注入方式有哪些

@Primary

인터페이스 방법 구현이 Spring에 의해 관리됩니까? 종속성 주입에서 Spring은 주입할 구현 클래스를 알지 못한 채 NoUniqueBeanDefinitionException을 발생시킵니다. @Primary를 사용하여 주입할 구현 클래스를 Spring에 알려줍니다.
@ComponentScan 성능에 미치는 영향 Spring 애플리케이션 성능에 대한 Bean 구성 최적화

Spring에서는 컴포넌트의 스캔 범위를 설정하여 javaBean 주입 프로세스를 단순화할 수 있습니다Java spring的注入方式有哪些

대규모 객체 주입이 필요한 경우 시나리오에서는 @ComponentScan 주석을 사용하여 지정합니다. 물론, 지정된 패키지 경로의 클래스는 Spring이 클래스를 생성하고 관리할 수 있도록 @Component 주석과 함께 추가되어야 합니다.

Java spring的注入方式有哪些

Java spring的注入方式有哪些

Lazy loading

spring은 기본적으로 preloading을 사용하고, Spring 프로젝트가 시작될 때 Bean을 생성합니다.

Lazy loading: Spring 프로젝트가 시작될 때 Bean을 생성하지 않고

사용할 때 생성합니다. Java spring的注入方式有哪些

Java spring的注入方式有哪些

세 가지 주입 방법

Java spring的注入方式有哪些



Java spring的注入方式有哪些

필드 주입(IDEA에서는 권장하지 않는다는 메시지가 표시됨)

Java spring的注入方式有哪些필드 주입의 단점:

필드 주입 빈 클래스는 그렇지 않습니다. Bean 클래스 외부에서 볼 수 있음Java spring的注入方式有哪些

Java spring的注入方式有哪些순환 종속성 문제

Java spring的注入方式有哪些

주입해야 할 객체를 최종으로 설정할 수 없으며 불변 객체를 삽입할 수 없습니다

  • 빈 클래스 필드에 의해 주입된 내용은 빈 클래스 외부에서는 보이지 않습니다


  • 필드 주입을 사용할 때 가장 큰 문제는 주입된 클래스(HealthRecorSercice)의 외부 가시성인데, HealthRecorSercice는 ClientService 클래스에서만 접근 가능하고 접근할 수 없습니다. 컨테이너 환경 외부에서 클래스와 컨테이너 간의 결합이 너무 높아 컨테이너 외부의 대상 개체를 사용합니다.

    외부 클래스 new에서 ClientService는 필드 주입 빈을 포함하는 메소드를 호출하고 HealthRecorSercice 클래스 널 포인터 예외가 발생합니다.
순환 종속성 문제

Java spring的注入方式有哪些아래에 표시된 것처럼 A와 B는 순환 종속성을 갖지만 Spring에서 컴파일하는 것이 적법합니다. String 클래스를 시작할 때 예외가 발생하지 않습니다. 필드에 의해 주입된 객체는 필요한 다른 클래스의 인스턴스화 전에만 보고됩니다. 주입.

생성자 주입(공식 권장) Java spring的注入方式有哪些

생성자 주입은 클래스의 생성자를 통해 주입됩니다.

생성자 주입을 해결할 수 있습니다:

Java spring的注入方式有哪些

클래스 외부에서 보이지 않음


주입해야 하는 개체를 최종으로 설정할 수 없습니다. , 또한 불변 객체를 주입할 수 없습니다

해결할 수 없습니다: 순환 종속성 문제Java spring的注入方式有哪些코드를 읽기가 쉽지 않습니다

생성자 주입을 사용하여 순환 종속성이 발생했습니까? Spring 프로젝트가 시작될 때 순환 종속성 예외가 발생합니다

Java spring的注入方式有哪些

set 메서드 주입

set 주입으로 해결할 수 있습니다.

  • 클래스 외부에 표시되지 않음

  • 순환 종속성 문제

  • 삽입해야 할 객체를 final로 설정할 수 없고, 불변 객체도 주입할 수 없습니다

Java spring的注入方式有哪些

위 내용은 Java Spring의 주입 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제