方式一:Restlight-Core单独使用
Note
使用该种方式需要手动生成Route信息。
eg.
自定义RouteRegistryAware
public interface RouteRegistryAware {
    /**
     * This callback method is invoked when all the internal routes have been registered to {@code registry}.
     *
     * @param registry registry
     */
    void setRegistry(RouteRegistry registry);
}
应用启动时通过自动注入的方式将RouteRegistry传递给RouteRegistryAware的实现类,在程序运行期间可以通过RouteRegistry动态的添加/卸载路由。
将自定义的RouteRegistryAware在应用启动时添加到启动上下文中
Restlight.forServer()
        .daemon(false)
        .deployments()
        .addRouteRegistryAware(new CustomRouteRegistryAware())
        .server()
        .start();
通过将自定义的
RouteRegistryAware或者RouteRegistryAwareFactory配置成SPI加载的形式或者注入Spring容器也可完成启动时注入的功能。
方式二:配合SpringMVC或者JAX-RS使用
Note
使用该种方式时框架将自动根据传入的Controller类解析出Route信息,使用者只需要关心Controller即可。
eg.
自定义HandlerRegistryAware
public interface HandlerRegistryAware {
    /**
     * This callback method is invoked when all the internal handlers have been registered to {@code registry}.
     *
     * @param registry registry
     */
    void setRegistry(HandlerRegistry registry);
}
应用启动时通过自动注入的方式将HandlerRegistry传递给HandlerRegistryAware的实现类,在程序运行期间可以通过HandlerRegistry动态的添加/卸载路由。
将自定义的HandlerRegistryAware在应用启动时添加到启动上下文中
Restlight.forServer()
        .daemon(false)
        .deployments()
        .addHandlerRegistryAware(new CustomRouteRegistryAware())
        .server()
        .start();
Note
通过将自定义的HandlerRegistryAware或者HandlerRegistryAwareFactory配置成SPI加载的形式或者注入Spring容器也可完成启动时注入的功能。