云原生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 从五年规划看“中国之治” 7904870
- 2 中俄轰炸机航母3个方向“包围琉球” 7808229
- 3 为一棵树拨打12345 引百万网友围观 7714254
- 4 长征系列火箭一日三发 7618393
- 5 上海出现“地震云”?气象专家回应 7521871
- 6 男子飞无人机在崖洞发现干尸 7424764
- 7 高市早苗承认中日关系恶化冲击经济 7329487
- 8 央视马年春晚官宣 7234975
- 9 71岁成龙回应“龙叔老了” 7139819
- 10 冷空气南下 这些地方流感风险上升 7045907







51CTO技术栈
