我的任务是允许Spring Boot与Jolie一起工作,例如Kotlin support for Spring Boot。构建配置中一个非常重要的工具是kotlin-maven-plugin,它允许编译Kotlin源,并通过pluginOptions将spring的功能链接到项目中。知道这一点,我绝对必须创建一个jolie-maven-plugin,它将负责在项目中编译Jolie源代码。我之所以能够做到这一点,是因为Jolie带有Compiler Java类,但是到目前为止,Spring Boot的能力和Jolie的能力仍然没有结合。让我们来看一个使用Kotlin的简单Spring Boot Controller:
import org.springframework.stereotype.Controller
import org.springframework.ui.Model
import org.springframework.ui.set
import org.springframework.web.bind.annotation.GetMapping
@Controller
class HtmlController {
@GetMapping("/")
fun blog(model: Model): String {
model["title"] = "Blog"
return "blog"
}
}
我们看到,Spring Boot仅通过使用适当的注释标记类/方法就为我们做了很多工作。对我来说,主要问题是如何通过jolie-maven-plugin允许这些Spring Boot功能?
另一个小问题可能是Jolie中没有所谓的“类”(一种基于微服务的语言)。看完this简单的Jolie程序之后,我可以假定它是 main 代码块,我应该将其视为类的等效代码,并用 @SpringBootAplication标记或 @RestController 等?