Spring Roo 2 使用分析

上一篇对Roo进行了简要的介绍,本节结合参考文档对其使用进行简要分析
数据实体和关系设计

命令执行后,生成一系列的: 实体名_Roo_***.aj的文件,这些文件通过STS编译进输出的包中

Entity

A.9. Entity Commands

建立实体类

entity --class ~.domain.Speaker

field

A.11. Field Commands

建立字段

field number --type java.lang.Long --fieldName age --min 25 --max 60

建立关系

field reference

field set

有ONE_TO_MANY MANY_TO_ONE ONE_TO_ONE MANY_TO_MANY

关系使用注意:

Field reference/ set fetch

EAGER/LAZY 使用需要谨慎,防止一次加载很多的关联对象,消耗内存,默认为LAZY,按需加载

关系的级联删除问题 @ManyToOne(cascade=CascadeType.PERSIST)

参考:192.168.0.9\Share\book\Java框架\Pro JPA 2.pdf

finder

A.12. Finder Commands

每个实体默认提供很多的finder,能够实现查找的用途

finder list –class * 可以列出当前的实体的finder方法

finder add 可以启动上面的列表中任意一个方法,这样就不用手工写

控制器

A.4. Controller Commands

controller all --package

所有的实体生成Scaffold controllers

controller scaffold --class

针对某个实体生成控制器

可以选择create, update, delete

视图的处理简析

控制器命令会自动生成一系列的视图

以实体Demo为例,其控制器生成在

DemoController.java 和 DemoController_Roo_Controller_**.aj等文件中

同时在

ApplicationConversionServiceFactoryBean.java

ApplicationConversionServiceFactoryBean_Roo_ConversionService.aj

中进行登记

默认生成的控制器请求映射参考:10.1. Controller commands,STS的IDE中项目邮件菜单可查:

image

页面处理流程:

1、 浏览器提交的请求首先按照控制器的规则进行路由到某个控制器上

2、 控制器根据具体的请求格式,具体工作如下:

a) 参数的映射:将浏览器的请求对应成具体的函数参数

b) 调用业务逻辑处理,处理的结果放置在这些org.springframework.ui.Model org.springframework.ui.ModelMap 对象中,然后指定要返回的视图名字

3、 框架使用Apche Tiles找到对应的视图页面(默认jsp和jspx),绑定上面步骤的数据进行显示

a) 具体约定在views.xml具体设置

b) 默认的页面使用了JSTL(TagLib,之所以使用taglib就是为了重用,因为每个实体都可以使用),进行处理,这些标签放在tags目录下

posted @   2012  阅读(3042)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
历史上的今天:
2010-10-20 WCF Data Services服务端处理汇总
点击右上角即可分享
微信分享提示