Автопроволочный список подклассов класса - PullRequest
0 голосов
/ 15 октября 2019

Я знаю, что можно создать коллекцию из нескольких объектов @Autowired, например

import org.aopalliance.intercept.Interceptor; // What's that? Nevermind.

@Component
public class A {
    @Autowired
    private List<Interceptor> magic;
}

// Example contents:
// org.springframework.cache.interceptor.CacheInterceptor
// org.springframework.transaction.interceptor.TransactionInterceptor

И все работает просто отлично. Давайте оставим это в стороне, как ему удается достигнуть типа в общем обходе стирания и сосредоточиться на более прикладных вопросах.

Можно ли заставить Spring вводить некоторые классы? Как

@Autowired
private List<Class> classes;
@Autowired
private List<Class<? extends MyHibernateEntity>> classes; // How deep can we reach for Spring to access these generics erased at runtime?..

Сейчас я использую org.reflections из этот ответ , и он работает довольно безупречно (по крайней мере, для меня).

Но я хочу научиться чему-то новому и сократить количество зависимостей. (Сам Spring довольно большой зависимостью, да)

➥ Итак, возможно ли использовать собственный движок синтаксического анализа classpath, чтобы получить список подклассов класса? Желательно тот, который предназначался для общественного пользования.

...