在https://github.com/spring-projects/spring-framework/blob/master/spring-context/src/main/kotlin/org/springframework/context/support/BeanDefinitionDsl.kt,评论显示了如何通过新的“功能bean定义Kotlin DSL”定义Spring Beans.我也找到了https://github.com/sdeleuze/spring-kotlin-functional.但是,这个例子只使用普通的Spring而不是Spring Boot.任何提示如何使用DSL与Spring Boot一起使用表示赞赏.
最佳答案
Spring Boot基于Java Config,但应该允许通过ApplicationContextinitializer支持对用户定义的functional bean declaration DSL进行实验性支持,如here所述.
实际上,您应该能够在包含beans()函数的Beans.kt文件中声明bean.
fun beans() = beans {
// Define your bean with Kotlin DSL here
}
然后,为了在运行main()和测试时通过Boot考虑它,请创建一个ApplicationContextinitializer类,如下所示:
class BeansInitializer : ApplicationContextinitializer
最后,在application.properties文件中声明此初始化程序:
context.initializer.classes=com.example.BeansInitializer
您将找到完整的示例here,也可以关注this issue关于功能bean注册的专用Spring Boot支持.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。