Giter Site home page Giter Site logo

bdqfork / festival Goto Github PK

View Code? Open in Web Editor NEW
46.0 6.0 17.0 4.58 MB

Festvial是一个基于Vertx、Rxjava等开源库,拥有IOC、AOP功能的响应式Web框架。

License: Apache License 2.0

Java 81.19% HTML 0.11% FreeMarker 0.01% Kotlin 18.70%
ioc jsr330 jsr250 aop proxy di vertx web reactive

festival's Introduction

Festvial

Maven Central License

Festvial是一个基于Vertx、Rxjava等开源库,拥有IOC、AOP功能的响应式Web框架。

Feature:

  • 基于JSR330规范实现了IOC容器,同时支持JSR250的注解。
  • 通过注解标记组件类,被标记的类会被扫描并添加到容器中,解析组件类的依赖关系,进行依赖注入。
  • 根据组件注解的描述信息,返回单例对象,或者返回新的对象。
  • 支持使用AspectJ的注解使用AOP功能,进行AOP拦截处理。
  • 支持配置文件属性注入,将配置文件之间映射到对象的属性中。
  • 基于Vertx封装了Web框架,可以使用类似于SpringMVC的注解来完成url的映射以及参数的获取。
  • 支持通过注解将Service封装成Verticle,使得每一个Service可以由一个EventLoop来处理,同时通过代理机制解决Service之间通信。
  • 对Vertx的Auth部分做了封装,只需要引入相应的依赖,就可以支持Shiro、JWT等权限管理框架,且支持使用注解来管理权限。
  • 支持使用Filter来对拦截Http请求。

快速使用

引入maven依赖

<dependency>
  <groupId>com.github.bdqfork</groupId>
  <artifactId>festival-web</artifactId>
  <version>0.5.0</version>
</dependency>

或者gradle依赖

implementation 'com.github.bdqfork:festival-web:0.5.0'

然后编写路由,运行WebApplicationContext。

@Singleton
@RouteController
public class UserController {

    @GetMapping("/hello")
    public String hello() {
        return "hello festival";
    }
    
    public static void main(String[] args) throws Exception {
            WebApplication.run(UserController.class);
    }

}

访问http://localhost:8080/hello 即可看见hello festival。

详细功能查看wiki

todolist:
  • 缓存
  • 服务监控
  • verticle service group
  • verticle service多实例
  • 支持rpc调用
  • cache key支持spel表达式
  • 对象参数注入
  • 分离confguration

License

Copyright (C) 2017 - present, bdqfork.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

festival's People

Contributors

b1o0dytrey avatar bdqfork avatar qingshanyuluo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

festival's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.