我正在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类?
在同一文件中创建一个伴随对象,即伴随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)
}
}