Ответ 1
Пока нет ответов и нужно было принять решение, так вот:
Класс маркера:
package com.companyname.appname.projectname.package1name;
/**
* Empty marker class used to identify this package when using type-safe basePackageClasses in Spring @ComponentScan.
*/
public class PackageMarker {
// Empty marker class
}
Применение:
@ComponentScan(basePackageClasses = {
com.companyname.appname.projectname.package1name.PackageMarker.class,
com.companyname.appname.projectname.package2name.PackageMarker.class,
/* ...etc... */
})
PackageMarker
Обозначение именования:
- Кажется разумным, чтобы все такие классы имели одно и то же имя, чтобы их можно было легко идентифицировать.
- Кажется разумным, чтобы он начинался с "Пакета" (точно так же, как package-info.java).
- Кажется разумным, чтобы он заканчивался "Маркером", поскольку документация относится к "классу маркеров".
- Не рекомендуется включать слово Base, поэтому его не путать с базовыми классами.
- Не хотел включать слово "Информация", поскольку он не содержит никакой информации, такой как package-info.java.
- Не рекомендуется включать какие-либо другие слова (например, "NoOp" ), чтобы они были быстрыми и гибкими для других возможных применений.
Было бы интересно, если кто-нибудь сможет привести примеры классов маркеров, используемых в более прозрачном контексте...