Я пытаюсь управлять bean-компонентами, загружаемыми моим весенним приложением, используя свойство IncludeFilters аннотации @ComponentScan
.Я использую фильтр типа FilterType.REGEX
.Я хотел бы сопоставить что-либо в качестве последней части моего паттерна, но мне кажется, что я не работаю таким образом вообще.У меня есть определения bean-компонентов:
package org.example.child;
public class ChildDao {}
...
public class ChildService{}
...
public class ChildComponent{}
и определение класса конфигурации:
@ComponentScan(
value = "com.example",
includeFilters = {@ComponentScan.Filter(type = FilterType.REGEX,
pattern = "com.example.*.Child*")})
При такой конфигурации Spring вообще не находит никаких bean-компонентов.
КогдаЗвездочка используется для сопоставления не самой последней части шаблона, но используется где-то посередине, тогда, похоже, она работает без проблем.
Например, следующая конфигурация сопоставляет все службы без проблем:
@ComponentScan(
value = "com.example",
includeFilters = {@ComponentScan.Filter(type = FilterType.REGEX,
pattern = "com.example.*.*Service")})
Это спроектированное поведение фреймворка или должно быть возможно сопоставить последнюю часть шаблона, используя такой шаблон регулярных выражений типа муравья?