런타임에 주석이 달린 클래스 검색
주석이 달린 클래스에 대한 클래스 경로를 검색하려면 널리 호평을 받는 라이브러리 사용을 고려하세요. org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.
ClassPathScanningCandidateComponentProvider 설명
ClassPathScanningCandidateComponentProvider는 주석의 기능을 활용하여 사전 정의된 기본 패키지에서 시작하여 클래스 경로를 신속하게 스캔합니다. 파생 클래스에 특정 포함 및 제외 필터를 꼼꼼하게 적용하여 검색 기준을 꼼꼼하게 충족하는 실행 가능한 후보를 꼼꼼하게 식별합니다.
실제 구현
ClassPathScanningCandidateComponentProvider를 인스턴스화하여 다음 여부를 지정합니다. 또는 기본값을 사용하지 않음 filter.
ClassPathScanningCandidateComponentProvider scanner = new ClassPathScanningCandidateComponentProvider(<DO_YOU_WANT_TO_USE_DEFALT_FILTER>);
AnnotationTypeFilter를 정의하여 대상 주석을 묘사합니다.
scanner.addIncludeFilter(new AnnotationTypeFilter(<TYPE_YOUR_ANNOTATION_HERE>.class));
마지막으로 지정된 기본 패키지 내에서 검색 프로세스를 시작하여 검색된 후보 클래스를 수집합니다.
for (BeanDefinition bd : scanner.findCandidateComponents(<TYPE_YOUR_BASE_PACKAGE_HERE>)) System.out.println(bd.getBeanClassName());
ClassPathScanningCandidateComponentProvider와 적절한 구성의 조화로운 통합을 통해 클래스 경로를 스캔하고 선택한 주석으로 장식된 클래스를 식별하세요.
위 내용은 ClassPathScanningCandidateComponentProvider를 사용하여 런타임에 주석이 달린 클래스를 효율적으로 검색하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!