Concept
1. SPI는 서비스 제공자 인터페이스입니다. JDK에 내장된 서비스 제공자 검색 메커니즘은 프레임워크 확장 및 구성 요소 교체를 가능하게 하는 데 사용할 수 있는 Java에서 제공하는 확장 API입니다.
Java SPI의 특정 규칙
클래스패스 아래에 있을 때, 클래스패스 아래 META-INF/services/ 디렉터리에도 서비스 인터페이스 이름을 딴 파일이 생성됩니다. 이 파일은 이 서비스 인터페이스를 구현하는 특정 구현 카테고리입니다.
외부 프로그램이 모듈을 어셈블할 때 jar 패키지 META-INF/services/의 구성 파일을 통해 특정 구현 카테고리 이름을 찾고 인스턴스를 로드하여 모듈 주입을 완료할 수 있습니다.
2. 호출자는 실제 필요에 따라 프레임워크의 구현 전략을 활성화, 확장 또는 대체할 수 있습니다.
일반적인 예:
데이터베이스 드라이버 로딩 인터페이스는 클래스 로딩을 구현합니다.
JDBC 로드는 다양한 유형의 데이터베이스를 구동합니다.
로깅 인터페이스 구현 클래스 로딩.
SLF4J는 다양한 공급업체의 로그 구현 클래스를 로드합니다.
Spring
Spring, SPI가 널리 사용됩니다. 예를 들어 Servlet3.0 사양은 ServletContainerInitializer, 자동 유형 변환 TypeConversionSPI(ConverterSPI, FormatterSPI) 등을 구현합니다.
Java의 컬렉션은 주로 네 가지 범주로 나뉩니다.
1. 목록: 정렬됨, 반복 가능
3. 집합 컬렉션: 없음 -반복 가능;
4. 지도 매핑: 순서가 없고 고유한 키와 고유하지 않은 값이 있습니다.
위 내용은 자바의 SPI란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!