使用Spring Roo构建项目

本文介绍了如何使用Spring Roo构建企业应用,包括项目结构、关键技术、实体层的详细步骤,如初始化、安装持久化工具、创建实体和字段。Spring Roo简化了传统MVC架构,减少了不必要的抽象层。此外,还涉及到网络层的控制器生成,服务层的使用场景,以及JSON数据转换。
摘要由CSDN通过智能技术生成

使用Spring Roo构建项目

1. 结构概述 Architectural Overview

Spring Roo专注于Java企业应用的开发。在当前的应用版本2.0.0.M1中,构建的应用将以关系数据库为基础,采用JPA标准对数据持久化,并大量使用了Spring框架中的依赖注入和事务管理,以及JUnit测试,利用Maven进行项目的配置,以Spring MVC为基础将JSP作为视图。

使用Roo创建的项目和传统项目相比,Roo创建的项目去掉了一些不必要的的抽象层。大多数的Java企业应用都包含DAO层、domain层和controller层。而在一个使用Roo构建的典型项目中,你将只会用到entity层(这有点类似于domain层,但似乎又结合了DAO层和Services层)和web。当然,如果你的应用的确需要,你可以添加一个services层,但是,几乎是不会添加DAO层的。

2. 关键技术 Critical Technologies

2.1. AscpectJ
2.2. Spring

3. 实体层 Entity Layer

大家在使用Roo时,都应该遵循如下的几个步骤:
3.1. 初始化项目
3.2. 安装持久化工具
3.3. 创建实体和字段

3.1. 初始化项目

> mkdir demo
> cd demo
roo> project setup --topLevelPackage cn.edu.cqupt.demo

3.2. 安装持久化工具

roo> jpa setup --database MYSQL --provider HIBERNATE
roo> database properties set --key database.url --value jdbc:mysql://localhost:3306/cblog?useUnicode=true&characterEncoding=utf-8
roo> database properties set --key database.username --value root
roo> database properties set --key database.password --value root

打印信息(仅列出一部分信息)

Updated SPRING_CONFIG_ROOT\applicationContext.xml
Created SRC_MAIN_RESOURCES\META-INF\persistence.xml
Updated SPRING_CONFIG_ROOT\database.properties

路径常量:
SPRING_CONFIG_ROOT -> src\main\resources\META-INF\spring
SRC_MAIN_RESOURCES -> src\main\resources\META-INF

jpa setup命令指定了使用MYSQL数据库、HIBERNATE映射工具。database properties命令修改的是database.properties文件中的信息。数据源的相关配置是在applicationContext.xml文件中,使用的是dbcpHIBERNATE的配置是在persistence.xml文件中。

3.3. 创建实体

entity jpa --class ~.domain.Admin

打印信息(部分)

Created SRC_MAIN_JAVA\cn\edu\cqupt\demo\domain\Admin.java
Created SRC_MAIN_JAVA\cn\edu\cqupt\demo\domain\Admin_Roo_Configurable.aj
Created SRC_MAIN_JAVA\cn\edu\cqupt\demo\domain\Admin_Roo_Jpa_Entity.aj
Created SRC_MAIN_JAVA\cn\edu\cqupt\demo\domain\Admin_Roo_Jpa_ActiveRecord.aj
Created SRC_MAIN_JAVA\cn\edu\cqupt\demo\domain\Admin_Roo_ToString.aj

路径常量:
SRC_MAIN_JAVA\cn -> src\main\java

从打印的信息中可以看出,有创建如下几个文件:
- Admin.java 基础类文件
- Admin_Roo_Configurable.aj 不知道干嘛用的
- Admin_Roo_Jpa_Entity.aj 包含实体的versionid属性,注意,versionid属性是和@RooJpaActiveRecord有关,而不是@RooJavaBean
- Admin_Roo_Jpa_ActiveRecord.aj 主要是实体的CRUD操作,对应实体中@RooJpaActiveRecord注解
- Admin_Roo_ToString.aj 实体的toString()方法,对应实体类中@RooToString注解

The generated method takes care to avoid circular references that are commonly seen in bidirectional relationships involving collections

这个方法(toString)需要注意避免循环引用,尤其是在涉及集合的双向关系时。

3.4. 创建字段

roo> field string --fieldName username --class ~.domain.Admin --notNull --sizeMax 30 --unique
roo> field string --fieldName passwd --class ~.domain.Admin --notNull --sizeMax 60 --sizeMin 6

打印信息

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值