rspec/rules/S4605/java/comments-and-links.adoc

23 lines
1.3 KiB
Plaintext
Raw Normal View History

=== on 11 Jun 2018, 15:34:47 Andrei Epure wrote:
*Note:* the ``++@ComponentScan++`` is implicit in the ``++@SpringBootApplication++`` annotation, case in which Spring Boot will auto scan for components in the package containing the ``++@SpringBoot++`` main class and its sub packages.
*Out of scope:* usage of filters to customize scanning, e.g.:
----
@ComponentScan(basePackages = "org.example",
includeFilters = @Filter(type = FilterType.REGEX, pattern = ".*Stub.*Repository"),
excludeFilters = @Filter(Repository.class))
----
=== on 27 Jun 2018, 11:16:04 Andrei Epure wrote:
This rule should never be in the Default Profile because:
* it ignores XML _component-scan_ configuration
* it's perfectly valid to have project A with a @Component class which is not actually consumed in project A. And then project B declares in a @ComponentScan configuration class the package from Project A, and consumes it as a dependency. Everything will work just fine, even if the code for project A is totally separate from the code from project B.
=== on 14 Mar 2021, 18:10:12 Stéphane Nicoll wrote:
A more compliant solution would be to remove the `@ComponentScan` directive altogether and use `@SpringBootApplication`. This way `com.mycompany.app` is used. This also helps with slice tests where the appropriate filter will be configured automatically.