ComponentScan.basePackageClasses против ComponentScan.basePackages, чтобы зарегистрировать один Spring WebMVC-контроллер?

Я хочу добавить отдельный класс контроллера в мой Spring WebApplicationContext. Я наткнулся на следующий пример: (это в Scala, но адаптировано отсюда:используя ComponentScan или context: компонентное сканирование только с одним классом)

@Configuration 
@ComponentScan(
  basePackages = Array("com.example.controllers"),
  useDefaultFilters = false,
  includeFilters = Array(
    new ComponentScan.Filter(`type` = FilterType.ASSIGNABLE_TYPE,
      value = Array(classOf[com.example.controllers.MyController]))))
class MyConfig {
}

Это работает хорошо (но очень многословно). Но у Spring @ComponentScan также есть basePackageClasses

@Configuration 
@ComponentScan( basePackageClasses=Array(classOf[com.example.controllers.MyController])) 
class MyConfig {
}

В SpringPocs из basePackageClasses говорится:

Type-safe alternative to basePackages() for specifying the packages to
scan for annotated components.

Однако, хотя первый ComponentScan правильно добавляет только com.example.controllers.MyController, а второй вызывает сканирование и добавление всего моего @Controller! Зачем? Какая польза от basePackageClasses?

Пример как:https://github.com/mikaelhg/springmvc-example/blob/master/src/main/java/mikaelhg/example/ExampleConfiguration.java предположить, что basePackageClasses можно использовать для загрузки одного компонента.

Обновить:

В качестве замены, заменив:

@Configuration 
@ComponentScan(
  basePackages = Array("com.example.controllers"),
  useDefaultFilters = false,
  includeFilters = Array(
    new ComponentScan.Filter(`type` = FilterType.ASSIGNABLE_TYPE,
      value = Array(classOf[com.example.controllers.MyController]))))
class MyConfig {
}

с

@Configuration 
class MyConfig {

  @Bean
  var myController = new com.example.controllers.MyController

}

кажется, что MyController никогда не подключается к сервлету (поведение изменено на 404-NotFound) - при добавлении в WebApplicationContext.

Ответы на вопрос(1)

Ваш ответ на вопрос