@@ -70,11 +70,11 @@ public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, B
70
70
AnnotationAttributes mapperScanAttrs = AnnotationAttributes
71
71
.fromMap (importingClassMetadata .getAnnotationAttributes (MapperScan .class .getName ()));
72
72
if (mapperScanAttrs != null ) {
73
- registerBeanDefinitions (mapperScanAttrs , registry , generateBaseBeanName (importingClassMetadata , 0 ));
73
+ registerBeanDefinitions (mapperScanAttrs , registry , generateBaseBeanName (importingClassMetadata , 0 ), getDefaultBasePackage ( importingClassMetadata ) );
74
74
}
75
75
}
76
76
77
- void registerBeanDefinitions (AnnotationAttributes annoAttrs , BeanDefinitionRegistry registry , String beanName ) {
77
+ void registerBeanDefinitions (AnnotationAttributes annoAttrs , BeanDefinitionRegistry registry , String beanName , String defaultBasePackage ) {
78
78
79
79
BeanDefinitionBuilder builder = BeanDefinitionBuilder .genericBeanDefinition (MapperScannerConfigurer .class );
80
80
builder .addPropertyValue ("processPropertyPlaceHolders" , true );
@@ -119,6 +119,10 @@ void registerBeanDefinitions(AnnotationAttributes annoAttrs, BeanDefinitionRegis
119
119
basePackages .addAll (Arrays .stream (annoAttrs .getClassArray ("basePackageClasses" )).map (ClassUtils ::getPackageName )
120
120
.collect (Collectors .toList ()));
121
121
122
+ if (basePackages .isEmpty ()) {
123
+ basePackages .add (defaultBasePackage );
124
+ }
125
+
122
126
String lazyInitialization = annoAttrs .getString ("lazyInitialization" );
123
127
if (StringUtils .hasText (lazyInitialization )) {
124
128
builder .addPropertyValue ("lazyInitialization" , lazyInitialization );
@@ -134,6 +138,10 @@ private static String generateBaseBeanName(AnnotationMetadata importingClassMeta
134
138
return importingClassMetadata .getClassName () + "#" + MapperScannerRegistrar .class .getSimpleName () + "#" + index ;
135
139
}
136
140
141
+ private static String getDefaultBasePackage (AnnotationMetadata importingClassMetadata ) {
142
+ return ClassUtils .getPackageName (importingClassMetadata .getClassName ());
143
+ }
144
+
137
145
/**
138
146
* A {@link MapperScannerRegistrar} for {@link MapperScans}.
139
147
*
@@ -150,7 +158,7 @@ public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, B
150
158
if (mapperScansAttrs != null ) {
151
159
AnnotationAttributes [] annotations = mapperScansAttrs .getAnnotationArray ("value" );
152
160
for (int i = 0 ; i < annotations .length ; i ++) {
153
- registerBeanDefinitions (annotations [i ], registry , generateBaseBeanName (importingClassMetadata , i ));
161
+ registerBeanDefinitions (annotations [i ], registry , generateBaseBeanName (importingClassMetadata , i ), getDefaultBasePackage ( importingClassMetadata ) );
154
162
}
155
163
}
156
164
}
0 commit comments