上一篇对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中项目邮件菜单可查:

页面处理流程:

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目录下

转载于:https://blog.51cto.com/mythinker/717469

Spring Roo 2 使用分析相关推荐

  1. spring roo_使用Spring Roo进行快速云开发–第1部分:Google App Engine(GAE)

    spring roo Spring Roo是在Java平台上提供快速应用程序开发的工具. 我已经解释了何时使用它: http : //www.kai-waehner.de/blog/2011/04/0 ...

  2. 使用Spring Roo进行快速云开发–第1部分:Google App Engine(GAE)

    Spring Roo是在Java平台上提供快速应用程序开发的工具. 我已经解释了何时使用它: http : //www.kai-waehner.de/blog/2011/04/05/when-to-u ...

  3. Spring Cloud源码分析(二)Ribbon(续)

    因文章长度限制,故分为两篇.上一篇:<Spring Cloud源码分析(二)Ribbon> 负载均衡策略 通过上一篇对Ribbon的源码解读,我们已经对Ribbon实现的负载均衡器以及其中 ...

  4. Java程序员进阶——Spring依赖注入原理分析

    Spring依赖注入原理分析 下面谈谈Spring是如何实现反转模式IOC或依赖注入模式DI: 平时,我们需要生成一个对象,使用new语法,如一个类为A public class A{public v ...

  5. Spring Roo开发初评

    Spring Roo开发初评 我们广泛使用Spring MVC 和 SpringSource 的其他产品, 来 构建企业Web 应用. 作为一家外包 公司 ,我们在前端开发严重地依赖于 Flex,我们 ...

  6. Spring AOP 源码分析 - 拦截器链的执行过程

    1.简介 本篇文章是 AOP 源码分析系列文章的最后一篇文章,在前面的两篇文章中,我分别介绍了 Spring AOP 是如何为目标 bean 筛选合适的通知器,以及如何创建代理对象的过程.现在我们的得 ...

  7. Spring AOP 源码分析 - 创建代理对象

    1.简介 在上一篇文章中,我分析了 Spring 是如何为目标 bean 筛选合适的通知器的.现在通知器选好了,接下来就要通过代理的方式将通知器(Advisor)所持有的通知(Advice)织入到 b ...

  8. Spring AOP 源码分析 - 筛选合适的通知器

    1.简介 从本篇文章开始,我将会对 Spring AOP 部分的源码进行分析.本文是 Spring AOP 源码分析系列文章的第二篇,本文主要分析 Spring AOP 是如何为目标 bean 筛选出 ...

  9. Spring Ioc源码分析 之 Bean的加载(6):属性填充(populateBean())

    "属性填充",也是在populateBean()方法中. 首先回顾下CreateBean的主流程: 如果是单例模式,从factoryBeanInstanceCache 缓存中获取B ...

最新文章

  1. python09-魔法方法
  2. 深入理解Netty-从偶现宕机看Netty流量控制
  3. 实战生产环境:kubeadmin安装1.13.3最新版k8s集群教程
  4. 思科模拟器32位_三款另类的68k Mac模拟器
  5. 解决:bash: vim: command not found、docker 容器不识别 vi / vim 、docker 容器中安装 vim
  6. 跑步运动轨迹计时小程序源码
  7. hbase 预写日志_HBase存储结构
  8. POJ 1741 Tree 树分治
  9. python3 logging模块_python3中使用logging模块写日志,中文乱码,如何解决?
  10. 25岁做什么,可在5年后受益匪浅?
  11. 20155320 2016-2017-2 《Java程序设计》第五周学习总结
  12. 华为有国产芯片的服务器吗,华为国产电脑上市!还有一大批国产自主电脑发布:采用国产芯/系统...
  13. java编程手册_Java编程手册
  14. Structs2-基础
  15. 孤儿进程与僵尸进程产生及其处理
  16. 痛惋字幕组:想为正版付费,但没地方掏钱
  17. java spider爬虫_一个简单的java网络爬虫(spider)
  18. arcgis_随机数vb脚本
  19. 删除oracle所有表外键,Oracle中查询、禁用、起用、删除表外键
  20. mysql安装快完了报错creating mysql router configuration显示不通过,图文教程

热门文章

  1. 通过公历年计算天干地支
  2. preact源码学习(2)
  3. JavaScript学习笔记(八)--- 函数表达式
  4. JS-undefined与null的区别
  5. sql server 2005 T-SQL CAST 和 CONVERT (Transact-SQL)
  6. 第 5 章 Stream
  7. 《C语言编程初学者指南》一1.5 使用程序语句
  8. NFS 安装配置及常见问题
  9. CSS 居中完全指南
  10. Python脚本运行出现语法错误:IndentationError: unindent does not match any outer indentation level...