Package org.springframework.modulith
Annotation Interface Modulith
@Documented
@Target(TYPE)
@Retention(RUNTIME)
@Modulithic
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(excludeFilters={@Filter(type=CUSTOM,classes=org.springframework.boot.context.TypeExcludeFilter.class),})
public @interface Modulith
Defines a Spring Boot application to follow the Modulith structuring conventions.
- Author:
- Oliver Drotbohm
-
Optional Element Summary
Modifier and TypeOptional ElementDescriptionString[]
Defines which additional packages shall be considered as modulith base packages in addition to the one of the class carrying this annotation.String[]
The names of modules considered to be shared, i.e.A logical system name for documentation purposes.boolean
Whether to use fully qualified module names by default.
-
Element Details
-
systemName
A logical system name for documentation purposes.- Returns:
- Default:
- ""
-
useFullyQualifiedModuleNames
Whether to use fully qualified module names by default. If set to true, hits will cause the module's default names to be their complete package name instead of just the modulith-local one. This might be useful in caseadditionalPackages()
pulls in packages that would cause module name conflicts, i.e. both root packages declare a local sub-package of the same name.- Returns:
- Default:
- false
-
additionalPackages
Defines which additional packages shall be considered as modulith base packages in addition to the one of the class carrying this annotation.- Returns:
- Default:
- {}
-