# blade-framework-study **Repository Path**: framework-collection/blade-framework-study ## Basic Information - **Project Name**: blade-framework-study - **Description**: https://lets-blade.com/ - **Primary Language**: Java - **License**: Not specified - **Default Branch**: dev - **Homepage**: https://github.com/lets-blade/blade.git - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-01-04 - **Last Updated**: 2022-05-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README blade-framework === # 体验 1. 思想与Spring基本一致,但是大部分组件没有集成,没有SpringBoot那么强大。 1. blade-framework要比sparkjava好一点就是他有自己的注入框架,而且也是像SpringIoC一样,管理了各种类。使之成为单例。需要的时候管一管理。 1. 总结下blade-framework解决了两个基本问题,一个是Controller,一个是Bean管理(也就是依赖注入) 1. blade-framework可以与rexdb混合使用,这样从Ctroller-> Service->Dao都可以完美解决! ## 开发 1. 打包 ```shell script ./gradlew jar -x test ``` ## blade-framework学习 ### Service/DAO 层方法命名规约 * 获取单个对象的方法用 get 做前缀。 * 获取多个对象的方法用 list 做前缀。 * 获取统计值的方法用 count 做前缀。 * 插入的方法用 save/insert 做前缀。 * 删除的方法用 remove/delete 做前缀。 * 修改的方法用 update 做前缀。 ### 中间件 1. 自带的跨站攻击中间件 https://lets-blade.com/docs/component.html ```java new CsrfMiddleware(); ``` 1. 异常处理中间件 ```java new DefaultExceptionHandler(); ``` 1. 基本认证 ```java new BasicAuthMiddleware(); ``` 1. 跨域问题解决 ```java Blade.of().enableCors(true) ``` ### 命令行参数 https://lets-blade.com/docs/cli-args.html 启动加上参数 1. 改端口 ```shell script java -jar blade-app.jar --server.port=9088 ``` ![](./asset/port.png) 1. 定义环境变量 ```shell script java -jar build/libs/blade-framework-1.0-SNAPSHOT.jar --app.env=dev ``` 1. 单元测试 ```java @RunWith(BladeTestRunner.class) @BladeApplication(Application.class) public abstract class BaseTest { } ``` 1. logback测试通过,自带的日志是作者自研的 ### 环境变量 环境变量也是启动的时候才能配置 1. IDEA开发的时候配置环境变量 ![](./asset/idea-env.png) 1. 线上运行的时候配置环境变量 ```shell script java -jar build/libs/blade-framework-1.0-SNAPSHOT.jar --app.env=dev ``` ![](./asset/env.png) ## 框架 下面这个组合非常适合一般的小型简单网站建设。不需要集成太多的中间件 框架| 理由 | 官网 ---|---|--- blade-framework| 控制器,依赖注入| https://lets-blade.com/ rexdb | 简洁高性能框架 | http://db.rex-soft.org/ awesome-blade| blade所有应用| https://github.com/lets-blade/awesome-blade anima| blade作者另一杰作 | https://github.com/biezhi/anima otale |博客 | https://github.com/otale freechat | 聊天|https://github.com/biezhi/freechat ## 收获 1. logback日志 1. blade单元测试 1.