Find Spring annotation-shape smells
Recipe ID
org.openrewrite.kotlin.spring.FindSpringAnnotationSmells$KtRecipeArtifact
io.moderne.recipe:recipes-kotlinStereotype/injection annotations applied to the wrong Kotlin shape: @Component on data class, @Service on object, @Bean without @Scope, @Autowired on var / lateinit var / class-body val, and @Lazy @Autowired (a hint of circular dependencies).
Usage
This recipe has no required configuration options. You’ll need the Moderne CLI configured before running the command below.
mod run . --recipe org.openrewrite.kotlin.spring.FindSpringAnnotationSmells$KtRecipeIf the recipe isn’t available locally, install it with:
mod config recipes jar install io.moderne.recipe:recipes-kotlin:0.2.0Definition
This recipe runs the following recipes in order.
- Find
@Component/@Service/@Repositoryondata classorg.openrewrite.kotlin.spring.FindSpringComponentOnDataClass$KtRecipe - Find
@Service object Foodeclarationsorg.openrewrite.kotlin.spring.FindSpringServiceOnObject$KtRecipe - Find
@Beanmethods without@Scopeorg.openrewrite.kotlin.spring.FindSpringBeanWithoutScope$KtRecipe - Find
@Autowired varproperties (notlateinit)org.openrewrite.kotlin.spring.FindAutowiredOnVar$KtRecipe - Find
@Autowired lateinit varproperties (ctor-injection candidate)org.openrewrite.kotlin.spring.FindAutowiredOnLateinitVar$KtRecipe - Find
@Autowired valfield declarations (not in ctor)org.openrewrite.kotlin.spring.FindFieldInjectionOverConstructor$KtRecipe - Find
@Lazyannotations on@Autowiredpropertiesorg.openrewrite.kotlin.spring.FindCircularDependencyHint$KtRecipe
Data tables
Structured output this recipe can produce.
- Source files that had resultsSource files that were modified by the recipe run.
org.openrewrite.table.SourcesFileResults - Source files that had search resultsSearch results that were found during the recipe run.
org.openrewrite.table.SearchResults - Source files that errored on a recipeThe details of all errors produced by a recipe run.
org.openrewrite.table.SourcesFileErrors - Recipe performanceStatistics used in analyzing the performance of recipes.
org.openrewrite.table.RecipeRunStats