輕量級javaweb框架blade,簡潔而強大
3
Blade
javaweb中的瑞士軍刀
blade 是一個輕量級,可快速開發的web框架,它內置了IOC管理,攔截器配置,REST API開發等眾多主流web特性,集成了模板引擎,緩存插件,數據庫操作,郵件發送等常用功能,簡潔的源碼值得你閱讀和學習。如果你喜歡,歡迎Star and Fork!
Blade特性
- 簡潔的MVC & 攔截器
- REST風格API
- 注解方式開發
- 微內核IOC容器
- 實用工具類
- 模板引擎支持
- 支持JDK1.6+
- 內置Jetty啟動
- 插件擴展機制
- ...
快速入門
第一步、用maven構建一個webapp,加入blade的依賴,推薦獲取最新版本
<dependency>
<groupId>com.bladejava</groupId>
<artifactId>blade</artifactId>
<version>x.x.x</version>
</dependency>
第二步、在web.xml中配置Blade核心過濾器并設置你的初始化類,你也可以不配置(使用jetty啟動)
<web-app>
<display-name>Archetype Created Web Application</display-name>
<filter>
<filter-name>BladeFilter</filter-name>
<filter-class>blade.BladeFilter</filter-class>
<init-param>
<param-name>applicationClass</param-name>
<param-value>blade.sample.App</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>BladeFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
第三步、編寫App.java和路由文件,下面是一個示例
public class App extends BladeApplication{
Logger logger = Logger.getLogger(App.class);
@Override
public void init() {
// 設置路由、攔截器包所在包
Blade.defaultRoute("blade.sample");
}
}
@Path
public class Hello {
@Route("/hello")
public String hello() {
System.out.println("hello");
return "hello.jsp";
}
@Route(value = "/post", method = HttpMethod.POST)
public void post(Request request) {
String name = request.query("name");
System.out.println("name = " + name);
}
@Route("/users/:name")
public ModelAndView users(Request request, Response response) {
System.out.println("users");
String name = request.pathParam(":name");
ModelAndView modelAndView = new ModelAndView("users");
modelAndView.add("name", name);
return modelAndView;
}
@Route("/index")
public String index(Request request) {
request.attribute("name", "jack");
return "index.jsp";
}
}
OK,這一切看起來多么的簡單,查閱使用指南更多現成的例子供你參考:
Blade使用指南 (正在完善中...)
一些例子:http://github.com/bladejava
更新日志
v1.1.2
1. 優化sql2o支持 2. 去除blade-kit無用類 3. 添加郵件支持 4. 添加程序計時支持 5. 添加http網絡請求支持
v1.1.0
1. 去除對外公開的多余方法展示 2. 添加`Blade.run()`方式運行jetty 3. 添加`Blade.register()`方法注冊bean對象 4. 優化IOC對象管理 5. 優化底層IO 6. 簡化插件擴展 7. 攔截器路由匹配分離 8. 修復jetty在多maven環境下運行bug 9. 添加初始化監聽context 10. 優化文件上傳 11. 優化路由匹配 12. 添加方法執行監測 13. 添加緩存支持
v1.0.0
第一個穩定版本發布
開源協議
Blade框架基于 Apache2 License
聯系我
Mail: biezhi.me#gmail.com
Java交流群: 1013565