Spring scala对象从类中删除final修饰符

问题描述 投票:1回答:1

我正在SCALA中编写Spring应用程序。我不得不改变

class Application {}object Application {}

使生成的main()静态。

@SpringBootApplication
@ComponentScan
@EnableAutoConfiguration
@EnableConfigurationProperties
@Import(Array(classOf[CoreConfiguration]))
object Application extends App {
  override def main(args: Array[String]): Unit = {
    val appCtx = SpringApplication.run(classOf[Application], args: _*)
  }

}

这导致SPRING抱怨最后一堂课(最后一班申请):

BeanDefinitionParsingException: Configuration problem: @Configuration class 'Application' may not be final. Remove the final modifier to continue.

如何在SCALA中创建Spring Application类?

spring scala final companion-object
1个回答
1
投票

在同一文件中创建一个伴随对象,即伴随Application对象。结果将类似于:

@SpringBootApplication
@ComponentScan
@EnableAutoConfiguration
@EnableConfigurationProperties
@Import(Array(classOf[CoreConfiguration]))
class Application {
  def run(args: Array[String]): Unit = {
    val appCtx = SpringApplication.run(classOf[Application], args: _*)
  }

}

object Application extends App {
  override def main(args: Array[String]): Unit = {
    new Application().run(args)
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.