云原生Java框架--Micronaut

?开始使用Micronaut?
?添加一个Micronaut控制器?
package?micronaut.idg.controller;?
import?io.micronaut.http.MediaType;?
import?io.micronaut.http.annotation.Controller;?
import?io.micronaut.http.annotation.Get;?
@Controller("/simple")?
public?class?SimpleController?{?
????@Get(produces?=?MediaType.TEXT_PLAIN)?
????public?String?index()?{?
????????return?"A?Simple?Endpoint";?
????}?
}?
package?micronaut.idg.controller;?
import?io.micronaut.http.MediaType;?
import?io.micronaut.http.annotation.Controller;?
import?io.micronaut.http.annotation.Get;?
import?java.util.Map;?
import?java.util.HashMap;?
@Controller("/simple")?
public?class?SimpleController?{?
?
????@Get(produces?=?MediaType.APPLICATION_JSON)?
????public?Map?index()?{?
??????Map?msg?=?new?HashMap();?
??????msg.put("message",?"A?simple?message");?
??????return?msg;???
????}?
}?
?添加Micronaut服务层?
//?Simple.java?
package?micronaut.idg.service;?
public?interface?Simple?{?
??public?String?getMessage();?
}?
//?SimpleService.java?
package?micronaut.idg.service;?
import?jakarta.inject.Singleton;?
@Singleton?
public?class?SimpleService?implements?Simple?{?
??public?String?getMessage(){?
????return?"A?simple?service?message";?
??}?
}?
@Controller("/simple")?
public?class?SimpleController?{?
??@Inject?
??private?final?Simple?simpleService;?
??public?SimpleController(@Named("simpleService")?Simple?simple)?{??//(1)?
????thi.simpleService?=?simple;?
??}?
??@Get(produces?=?MediaType.APPLICATION_JSON)?
??public?Map?index()?{?
????Map?msg?=?new?HashMap();?
????msg.put("message",?simpleService.getMessage());?
????return?msg;?
??}?
}?
?使用Micronaut的反应式NIO?
<dependency>?
????<groupId>io.projectreactor</groupId>?
????<artifactId>reactor-core</artifactId>?
????<version>3.4.11</version>?
</dependency>?
import?reactor.core.publisher.Mono;?
//...?
@Get?
??public?Mono<map>?index()?{?
????Map?msg?=?new?HashMap();?
????msg.put("message",?simpleService.getMessage());?
????return?Mono.just(msg);?
??}?
}?
?使用Micronaut的CLI创建新的组件?
mn?create-controller?MyController?
|?Rendered?controller?to?src/main/java/micronaut/idg/MyControllerController.java?
|?Rendered?test?to?src/test/java/micronaut/idg/MyControllerControllerTest.java??使用Micronaut进行云原生开发?
./mvnw?deploy?\?
?????-Dpackaging=docker?\?
?????-Djib.to.image=gcr.io/my-org/my-project:latest?
gcloud?run?deploy?\?
????--image=gcr.io/my-org/my-project:latest?\?
????--platform?managed?\?
????--allow-unauthenticated?tracing:?
??jaeger:?
????enabled:?true?
????sampler:?
??????probability:?1?
?小结?
译者介绍
粉丝福利
扫码关注视频号,私信“666”
领取技术期刊


关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
关注网络尖刀微信公众号随时掌握互联网精彩
赞助链接
排名
热点
搜索指数
- 1 习近平将发表二〇二六年新年贺词 7904141
- 2 2026年国补政策来了 7808738
- 3 东部战区:开火!开火!全部命中! 7712893
- 4 2026年这些民生政策将惠及百姓 7616985
- 5 小学食堂米线过期2.5小时被罚5万 7519709
- 6 解放军喊话驱离台军 原声曝光 7428214
- 7 为博流量直播踩烈士陵墓?绝不姑息 7327605
- 8 每月最高800元!多地发放养老消费券 7238391
- 9 数字人民币升级 1月1日起将计付利息 7141831
- 10 2026年1月1日起 一批新规将施行 7040675








51CTO技术栈
