微服框架 Reactor-Guice 0.11 发布,自动扫描 Controller Service

栏目: 软件资讯 · 发布时间: 4年前

内容简介:Reactor-Guice 是一个基于 Reactor 和 Guice 的网络框架, 0.11 功能更新如下 1. 自动扫描带有注解 @Controller 的类,将带类里有 @Path 的方法,并加入到路由 2. 自动扫描带有注解 @Service 的类,将类添加...

Reactor-Guice 是一个基于 Reactor 和 Guice 的网络框架, 0.11 功能更新如下

1. 自动扫描带有注解 @Controller 的类,将带类里有 @Path 的方法,并加入到路由

2. 自动扫描带有注解 @Service 的类,将类添加到 Guice 的 Module 中 bind,在其他类里通 @Inject 来注入

通过 Maven 引入

<dependency>
    <groupId>com.doopp</groupId>
    <artifactId>reactor-guice</artifactId>
    <version>0.11</version>
</dependency>

启动服务 ( 例子 )

public static void main(String[] args) throws IOException {

    Properties properties = new Properties();
    properties.load(new FileInputStream(args[0]));

    ReactorGuiceServer.create()
        .bind(host, port)
        .createInjector(
            binder -> Names.bindProperties(binder, properties),
            new Module()
        )
        .setHttpMessageConverter(new MyGsonHttpMessageConverter())
        // .setHttpMessageConverter(new MyJacksonHttpMessageConverter())
        .setTemplateDelegate(new FreemarkTemplateDelegate())
        // .setTemplateDelegate(new ThymeleafTemplateDelegate())
        .basePackages("com.doopp.reactor.guice.app")
        .addFilter("/", TestFilter.class)
        .printError(true)
        .crossOrigin(true)
        .launch();
}

API 网关模式

ReactorGuiceServer.create()
        .bind(host, port)
        .setApiGatewayDispatcher(new MyApiGatewayDispatcher())
        .addFilter("/", TestFilter.class)
        .launch();

Reactor-Guice 聚焦于以下功能

0.0.3 支持注解 @GET @POST @PUT @DELETE @Products @PATH
0.0.3 静态文件支持
0.0.3 支持 Websocket
0.0.4 自定义 uri filter
0.0.5 目录下默认输出 index.html
0.0.5 支持自定义 json lib,自带 Gson 和 Jackson
0.0.5 可以上传文件
0.0.6 POST 支持数组
0.0.7 支持自定义模板,自带 Freemark 和 Thymeleaf
0.0.7 通过 Mono.just("redirect:/example") 支持跳转
0.0.7 修复BUG,已经命名规范
0.0.8 API 网关模式,通过自定义的 Dispatcher 转发请求,可 Filter 过滤
      修复头信息重复的 BUG
      添加跨域头支持,和 OPTIONS 请求的返回
0.0.9 支持 byte[] 类型输出,便于输出 protobuf
      修复跳转的 BUG
      默认直接输出返回的 JSON,而不对结果做包装后再输出
0.10  @BeanParam 注解支持将 Form Data , Json 或 Protobuf Data 转换成本地对象
      上传文件支持 byte[] ,UploadFile 或 File 类型,File 类型可以指定上传文件保存的目录

0.11  自动扫描 @Controller 并将方法加入到路由,规范符合 Reactor-Netty
      自动扫描 @Service 并将其添加到 Guice 的依赖注入中,规范符合 Guice

未来扩展支持
  udp server
  考虑引入 Jersey

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

今日简史

今日简史

[以] 尤瓦尔·赫拉利 / 林俊宏 / 中信出版集团 / 2018-8 / 68

四年前,尤瓦尔•赫拉利的《人类简史》横空出世,颠覆了我们关于人类进化的认知。2016年,他的《未来简史》再度惊艳四座,刷新了我们对未来的想象,掀起了全球关于人工智能讨论的新思潮。现在,“简史三部曲”收官之作《今日简史》推出,将目光聚焦到当下,直面今天关乎我们每个人命运的问题和挑战。 尤瓦尔•赫拉利认为,智人之所以能够崛起成为地球的主宰者,主要原因在于其具备了虚构故事的能力。然而,在当前这样一......一起来看看 《今日简史》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试