接上一篇<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
注意其中的 @HtmlTag(value=EHtmlTag.file) 注解
只要在字段上打上此注解,在生成的jsp页面中 就不会<input type="text">方式出现,而是作为一个上传附件组建的整体出现,这些属性都会在后台获取信息,并持久化到数据库中。
而上面的附件抽象类 Accessory 作为上传组建的标准,用户可以直接使用,如果系统中需要有作为附件上传的地方,用户只要新建一个类继承这个抽象组建即可,非常方便。
再看看长文本字段text的使用
只要打上 @HtmlTag(value=EHtmlTag.textarea) 标签 在生成的jsp页面中就会出现多行文本框。
有人说在pojo类中加入了太多的注解,代码可读性就会下降很多,也影响代码重用。
所以我在转换机制中加入了xml文件。把领域模型转换为xml文件,很多扩展属性都可以在xml文件中设置,
生成的xml文件格式如下:
然后代码生成器读取xml文件,再根据自己编写的模板结构自动合成,生成源代码。
在这种机制下完全可以通过修改配置文件,和模板文件,来生成不同架构的java程序,甚至可以运用到其他编程语言的领域,其实最复杂的就是前台界面,前台界面直接影响用户体验,这里不是代码生成器能解决的地方了,在rails中,最终页面也需要开发人员的干预,代码生成器最大限度的做到在重复性代码中减少开发人员输入的代码量。
待续...
- 大小: 26.6 KB
- 大小: 5.3 KB
- 大小: 21.3 KB
分享到:
相关推荐
springside3与传统ssh区别: 1.1 数据库设计 1.2 entity 对象 1.3 dao对象 1.4 manager对象 1.5 action 对象 .......................
springside
springside-3.2.2源码springside-3.2.2源码
springside3.3.4 使用方法 ssh整合 最流行的web框架 使用说明
springside 的一个应用实例,java web的开发末班
SpringSide4.0 Reference Manual 自己整理的官方文档,PDF格式,方便查阅,所有连接都已整理。
springside4
springside3.0.zip
SpringSide文档.chm。
pom.xml配置 ...mvn install:install-file -DgroupId=org.springside -DartifactId=springside-core -Dversion=4.2.2.GA -Dfile=./springside-core-4.2.2.GA.jar -Dpackaging=jar -DgeneratePom=true
springside是融合spring,hibernate,struts2,的一个做权限框架
springside开发全面讲解 springside集成了多项技术,不适合入门者学习,因此本资料也尽量从最简单最基础的讲起。
SpringSide
分享 江南白衣的 springside4 非常强大的Javaee 框架。 官网:http://www.springside.org.cn/ 代码:https://github.com/springside/springside4
springside示例quickstart的eclipse工程
Springside4 学习整理 Shiro 服务端验证
springside3-core-3.3.4.jar,springside的3.3.4版本。
SpringSide4框架简单使用 sprindside4只写一个简单的DAO接口,日后再根据需要添加方法定义。不需要Dao implements
SpringSide Demo with Spring Security、Hibernate Paging、Hibernate Ehcache、permission、SSH Zero Config...
springside 案例 转换为myeclipse