Skip to content

Latest commit

 

History

History
170 lines (129 loc) · 5.13 KB

README_CN.md

File metadata and controls

170 lines (129 loc) · 5.13 KB

Quick Start  |  Demo Project  |  Contribute  |  Donate  |  FAQ |  中文说明

Build Status maven-central License Gitter

Blade是什么?

Blade是一款简洁优雅的轻量级MVC框架。如果你喜欢它请为它 点赞/Fork 谢谢 😊

特性

  • 新一代MVC框架,不依赖更多的库,摆脱SSH的臃肿,模块化设计,使用起来更轻便。
  • RESTful风格路由设计
  • 模板引擎支持
  • 高性能,100并发下qps 6w/s
  • 执行Jar包即开启web服务
  • 流式API风格
  • 支持插件扩展
  • 支持webjars
  • JDK8+
  • 事件驱动

概述

  • 简洁的:框架设计简单,容易理解,不依赖于更多第三方库。Blade框架目标让用户在一天内理解并使用。
  • 优雅的:Blade 支持 REST 风格路由接口, 提供 DSL 语法编写,无侵入式的拦截器。
  • 易部署:支持 maven 打成 jar 包直接运行。

快速入门

开始之前,首先 引入Blade的库文件Maven 配置:

<dependency>
	<groupId>com.bladejava</groupId>
	<artifactId>blade-mvc</artifactId>
	<version>2.0.0</version>
</dependency>

或者 Gradle:

compile 'com.bladejava:blade-mvc:2.0.0'

编写 Main函数:

public static void main(String[] args) {
    Blade blade = Blade.me();
    blade.get("/", (req, res) -> {
        res.text("Hello Blade");
    }).start();
}

用浏览器打开 http://localhost:9000 这样就可以看到第一个Blade应用了!

API示例

public static void main(String[] args) {
    Blade blade = Blade.of();
    blade.get("/user/21", getxxx);
    blade.post("/save", postxxx);
    blade.delete("/del/21", deletexxx);
    blade.put("/put", putxxx);
}

REST URL参数获取

public static void main(String[] args) {
    Blade blade = Blade.of();
    blade.get("/user/:uid", (request, response) -> {
		Integer uid = request.queryInt("uid").get();
		response.text("uid : " + uid);
	});
	
    blade.get("/users/:uid/post/:pid", (request, response) -> {
		Integer uid = request.queryInt("uid").get();
		Integer pid = request.queryInt("pid").get();
		String msg = "uid = " + uid + ", pid = " + pid;
		response.text(msg);
	});
	
    blade.start();
}

表单参数

public static void main(String[] args) {
    Blade blade = Blade.of();
    blade.get("/user", (request, response) -> {
		Integer uid = request.queryInt("uid").get();
		response.text("uid : " + uid);
	}).start(Application.class);
}

上传文件

public void upload_img(@MultipartParam FileItem fileItem){
    if(null != fileItem){
        File file = fileItem.getFile();
        String fileRealPath = "your upload file path!";
        nioTransferCopy(file, fileRealPath);
    }
}

路由钩子

public static void main(String[] args) {
    Blade blade = Blade.of();
    blade.before("/.*", (request, response) -> {
        System.out.println("before...");
    }).start();
}

这一切看起来多么的简单,不过上面的功能可是冰山一角,查看文档和示例项目有更多惊喜:

使用Blade的站点

联系我

贡献

非常感谢下面的开发者朋友对本项目的帮助,如果你也愿意提交PR,欢迎你!

开源协议

请查看 Apache License