刚刚开始尝试使用MN M3。用以下代码创建了一个最小的Groovy服务:
package test2
import groovy.transform.CompileStatic
import io.micronaut.context.event.ApplicationEventListener
import io.micronaut.runtime.Micronaut
import io.micronaut.runtime.server.event.ServerStartupEvent
@Singleton
@CompileStatic
class Application implements ApplicationEventListener<ServerStartupEvent> {
static void main(String[] args) {
println "Start"
Micronaut.run(Application.class)
}
@Override
void onApplicationEvent(ServerStartupEvent event) {
println "Boo!"
}
}
我得到了“开始”,但从未调用启动事件回调:
开始
10:35:54.066 [main]信息io.micronaut.runtime.Micronaut-启动 在897毫秒内完成。服务器正在运行:http://localhost:32034
我认为,这是在MN中处理初始化的合适方法吗?
答案 0 :(得分:0)
结果表明,Groovy具有自己的@Singleton批注,默认情况下使用它。您需要导入:
import javax.inject.Singleton
在文档中的某个地方强调这一点可能是个好主意。