hsweb (haʊs wɛb) 是一个基于spring-boot 2.x开发 ,首个使用全响应式编程的企业级后台管理系统基础项目。
4.0 首个版本.
全响应式支持.
权限优化.
DataSourceHolder.databaseSwitcher().use("db1");
实现RecordModifierEntity
的实体类,在执行修改时,将推送事件:EntityModifyEvent
实现RecordCreationEntity
的实体类,在执行新增时,将推送事件:EntityCreatedEvent
增加CompareUtils
,用于对比值是否相同,支持不同类型对比,如:CompareUtils.compare(1,"1");
为true。
根据类获取所在maven模块信息,可使用此功能,在记录日志的时候可以定位到代码位置。
在maven模块加入/resources/hsweb-module.json
{
"groupId": "${project.groupId}",
"artifactId": "${project.artifactId}",
"path": "hsweb-commons/hsweb-commons-controller",
"gitCommitHash": "${git.commit.hash}",
"gitRepository": "http://github.com/hs-web/hsweb-framework",
"version": "${project.version}"
}
获取:
ModuleInfo info = ModuleUtils.parse(clazz);
BETA
) /user?termExpression=name is 张三 and age gt 10
/user?termExpression=name is 张三 and (age lt 10 or age gt 60)
现在支持通过方法引用来描述字段了.比如:
User user = ....;
createQuery().where(user::getName).list();
//静态方法引用
createQuery().where(User::getName,name).list();
以及便捷的条件嵌套功能:
public List<DataBean> queryCurrentUserData(Authentication currentAuth,QueryParamEntity param){
//当前登录用户ID
String currentUserId = currentAuth.getUser().getId();
//将前端传来的参数转为嵌套后再追加参数.
//如: name = ? or age > ? 转为 ( name = ? or age > ? ) and userId = ?
return param.toNestQuery()
.and(DataBean.getUserId,currentUserId)
.execute(service::query);
}
常规优化