converted from spring mvc project -> lc4e-spring
###It's a Light Forum.
###Jetbrick Template(
HTML5,VueJs,CSS3)
前端使用 vuejs
前端UI 准备替换 semantic-ui (这家伙实在过于庞大,且低效),重写新的UI抛弃Jquery (同上,Render效率较低)本项目会暂缓更新,等待新的UI(选择/开发)完成)
时间关系,新UI放弃,暂时继续混用jquery ,vuejs,semantic ui
View http://lc4e.coding.io/InitDB to initial database
###轻量级论坛系统
- 主题
1.Markdown支持
2.@楼层功能
3.等...- 用户
1.用户控制权限系统
2.独立自由的用户like,block系统- 插件拓展系统
1.自由定制系统- 用户喜好推荐系统
1.浏览习惯推荐主题- 待补充。。。
Jfianl Extend 基于Jfinal轻量级框架
实现了类似Spring的注解,Serveice,Controller 自动注入
注解参数验证等功能
ConfigHandler [T]:注解Jfianl Config,可以导入多个ConfigPluginHander [T]:注解插件类 ,自动加载插件无需在Config中手动配置GlobalHandler [T]: 注解handler,自动加载全局HandlerInterceptorHandler [T]:注解interceptor 自动加载全局拦截器ExceptionHanders [T]:注解全局异常处理类,可以手动处理特殊异常,并renderExceptionHander [M]:配合ExceptionHanders,自动处理指定异常Job [M]:除了配置之外可以注解Job,自动jobController [T]: 注解生成路由配置Service [T]: 自动注入Service层,需配合 Inject注解,Service 方法加入Transaction 注解 即可自动事物Model [T]:结合ActiveRecord,自动Mapping数据库, 结合Tools 可以自动生成Dao 与 Mapping数据Inject [F]: 自动注入,须在Serivce 或者 Controller中。
自定义注解插件,除了系统初始化级别的注解外,
Controller以及Service内的注解均可以通过此插件进行拓展. 用法(Usage): 具体参考系统一有注解 example
@CustomAnnotation
public class customAn extend CustomAnnotationPlugin {
// 插件生效顺序[future]暂未实现
public int getOrder() {
return 0;
}
// 需要自定义的注解class
public abstract Class<? extends Annotation> getAnnotation();
//处理此注解的事件
//参数说明
//annotation 为当前注解的实例
//resolver 处理完事件调用原函数,resolver.invoke()
// objects 拦截方法的参数
// target 调用的实例
// method 拦截的方法
// isHandled 需要直接返回不处理剩余直接或者其本身事件时,isHandled[0] = true
public abstract Object intercept(Annotation annotation, AnnotationPluginResolver resolver, Object[] objects, Object target, Method method, boolean[] isHandled) throws Throwable;
}###基于CustonAnnotation的注解插件
Transaction [M]:在方法上注入,可以自动事物RequestHeader[T/M]:request Header 验证RequestMethod[T/M]:request 类型验证,实现restful风格的ControllerResponseStatus[T/M]:强制设置返回状态码SetComVar[M]:设置数据库配置项,预设值SetUIDate[M]:设置动态UI变量,可指定方法SetUIDates[M]:批量SetUIDateValidateComVar[M]:验证数据库配置值,预设值ValidateComVars[M]:批量ValidateComVarValidateParam[M]:参数验证,支持String Integer,Long,Double,Float,Date,File,ActiveRecord等验证,同时设置默认值ValidateParams[M]:批量参数验证,当参数过多时推荐使用ValidateToken[T/M]:验证TOKENCache[M]:在Service的方法中注解,可以自动缓存SetPJAX:设置PJAX attributeSetAJAX:设置AJAX attribute
RequireGuest[T/M]:RequiresAuthentication[T/M]:RequiresPermissions[T/M]:RequiresGuest[T/M]:RequiresUser[T/M]:
BaseController:增强Controller 增加isAJAX ,isPJAX , 验证码render等DBModel: 增强Model,自动set updateTime,createTime,自动事务,自动CacheIHandler: handler增强 增加 beforeHandler,afterHandler方法,需使用GlobalHandler注解载入IInterceptor: interceptor增强,需使用InterceptorHandler载入,新增beforeIntercept,afterIntercept,beforeException,afterExceptionIIPlugin:plugin增强,需使用PluginHander载入,增加 init方法 ,可以设置Plugins,Routes,Constants,Interceptors,Handlers
- Lc4eAutoSetterException:自动设置response attribute 异常
- Lc4eApplicationException: 业务层异常
- Lc4eException:
- Lc4eRuntimeException:Lc4e自定义代码异常
- ReflectException :ReflectTool 类中异常
- Lc4eValidateException:参数验证过程异常
- 6/13/2015 4:22:59
Remove Mysql . Replaced with MongoDB. Version to V2
- 7/31/2015 1:08:22
Convert Spring to Jfinal Origin Project
Rollback MongoDB to MYSQL
- 10/29/2015 13:46:26
Convert View Render from Beelt to Jetbrick
- 12/21/2015 19:13:16
stop woking on the project and wait for sui finished
- 01/11/2015 23:34:42
update jfinal version to 2.1