WslCMS 基于Spring+hibernate注解的CMS系统

备注:这个项目可拓展性不强所以停止更新了。主要利用了hibernate的注解来生成页面,算是当年的小尝试。对注解好的对象自动生成增删改查页面。

使用场景
经常需要做些简单的后台。3~5个表,写页面,写样式。复制粘贴,虽然不复杂,但都是重复的工作比较麻烦。
基于Spring实际上已经把数据结构绑定好了,可以加几个注解就能直接使用。

源代码demo
https://github.com/wslhk/wslcms

快速开始
1,前提条件:
配置好spring+hibernate注解方式

2,资源对象增加注解:
@ColumnWSL(name="名称")

3,Controller 修改,需要设置sessionFactory
CmsFactory fac=new CmsFactoryImpl(this.sessionFactory);
CmsView viewPath=fac.cmsRun(request, response, modelMap);
return viewPath.getViewName();

完成,到这如果一切正常的话,已经可以显示管理页面了,省心省力是不是!

部分使用
在一个复杂的项目部分使用也是可以的
url连接方式 controller?wslact=list&wslobj=对象名称
wslact可选 展示:list/add/edit/del 处理 add_do/edit_do/del_do

view自定义
默认试图使用了基于bootstrap的sbadmin。如果需要修改可以参考jstl自行修改。

高级方式
Field注解:@ColumnWSL
//排序条件,用于列表排序
orderby()
//用于文字标题
String name() default “”;
//用于生成查询条件
boolean findable() default false;
//展示类型
ItemType inputType() default ItemType.TEXT;
//listid,关联外键,或者列表
String selectId() default “”;
//外键资源类型
Class<?> targetEntity() default Object.class ;
//是否允许批量修改
boolean batchUpdate() default false;

Class注解:@TableWSL(title=”名称”)

ManyToOne单选例子:
@ColumnWSL(name=”只显示tag”,inputType=ItemType.SHOW)
@JoinColumn(name = “tagId”,insertable=false,updatable=false)
@ManyToOne(targetEntity=Tag.class)
@NotFound(action=NotFoundAction.IGNORE)
private Tag tag;

单选例子:
@ColumnWSL(name=”类型”,inputType=ItemType.SELECT,selectId=”typeSelect”,batchUpdate=true)
private Integer type;

@Transient
private List typeSelect=null;

然后初始化的时候设置下typeSelect 就可以单选了。

简单的登录功能
如果只需要一个固定用户密码做登录验证的话可以增加配置文件
auth=1
auth_username=username
auth_password=password
来启用内置的简单用户验证机制,只支持一个用户!

当然带权限的验证还是推荐使用Spring Security

发表评论