輕量級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