给springside一剂强心剂,重新点燃SSH架构的热情 2

接上一篇<a href="http://lovephoenix.iteye.com/admin/blogs/591383">给springside一剂强心剂,重新点燃SSH架构的热情 1</a>

下面讲讲使用的方法。

使用这套系统,我们首先把所有的注意力都集中在领域模型的建立上面,这里对POJO对象进行了扩展,这得益于 java 的 annotation,代码生成器提供了许多用于构建特定业务的注解,只要在pojo对象上打上 annotation 注解,代码生成器就会结合模板构建 annotation,对于持久化的 JPA 注解,代码生成器目前已经支持解析"单向双向关系的一对多,多对一及自身一对多",其中还包括 @MappedSuperclass @Transient 等注解。

代码生成器提供的注解有
@EHtmlTag
@HtmlTag
@JspPageName
@LazyGenerator
@ManyToManyValueByJsp
@ManyToOneValueByJsp
.......

比如 建立一个附件抽象类 Accessory
[img]http://dl.iteye.com/upload/attachment/204882/3dd37018-6458-3fe1-81a8-9686dbde283b.png[/img]

注意其中的 @HtmlTag(value=EHtmlTag.file) 注解
只要在字段上打上此注解,在生成的jsp页面中 就不会<input type="text">方式出现,而是作为一个上传附件组建的整体出现,这些属性都会在后台获取信息,并持久化到数据库中。

而上面的附件抽象类 Accessory 作为上传组建的标准,用户可以直接使用,如果系统中需要有作为附件上传的地方,用户只要新建一个类继承这个抽象组建即可,非常方便。

再看看长文本字段text的使用
[img]http://dl.iteye.com/upload/attachment/204884/9ed633ad-60fc-3c3d-a671-d88922941920.png[/img]
只要打上 @HtmlTag(value=EHtmlTag.textarea) 标签 在生成的jsp页面中就会出现多行文本框。


有人说在pojo类中加入了太多的注解,代码可读性就会下降很多,也影响代码重用。
所以我在转换机制中加入了xml文件。把领域模型转换为xml文件,很多扩展属性都可以在xml文件中设置,

生成的xml文件格式如下:

[img]http://dl.iteye.com/upload/attachment/204966/70541d50-1b0e-32b0-8d87-01eb15fd871b.png[/img]

然后代码生成器读取xml文件,再根据自己编写的模板结构自动合成,生成源代码。

在这种机制下完全可以通过修改配置文件,和模板文件,来生成不同架构的java程序,甚至可以运用到其他编程语言的领域,其实最复杂的就是前台界面,前台界面直接影响用户体验,这里不是代码生成器能解决的地方了,在rails中,最终页面也需要开发人员的干预,代码生成器最大限度的做到在重复性代码中减少开发人员输入的代码量。

待续...
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值