我知道spring roo可以生成实体和controller.But我的要求是生成DAO和Service层或至少DAO。有没有办法使用spring-roo生成实体,控制器和DAO
答案 0 :(得分:6)
我认为没有办法制作DAO,但我有所纠正。
在最近发布的Roo 1.2中,现在有JPA Repositories的概念和Spring blog中详述的新服务元素。
答案 1 :(得分:2)
例如,您有一个User
类,其中包含字段username
,password
,您需要创建抽象层
Entity -> Repository (DAO) -> Service
作为
User-> UserRepository -> UserService
除了默认的ActiveRecord样式之外,基本上有两种处理方式 - 第一种使用JPA Repository,第二种使用Mongo Repository。使用Mongo或JPA设置是类似的。我在这里解释JPA Repository的命令。
1)执行设置命令
jpa setup --provider HIBERNATE --database HYPERSONIC_PERSISTENT
2)将新的用户实体设置默认activeRecord
定义为false(重要)
entity --class ~.domain.User --activeRecord false
3)定义此用户实体的字段
field string --fieldName userName --notNull --sizeMin 3 --class ~.domain.User
field string --fieldName password --notNull --sizeMin 3 --class ~.domain.User
4)使用repository jpa
命令创建一个新的JPA存储库接口,这相当于通过扩展spring数据JpaRepository类public interface UserRepository extends JpaRepository<User, Long> {/*Code*/}
来创建新的存储库接口。这提供了所有CRUD功能,您不需要添加任何内容。您可以添加其他搜索功能。存储库接口类似于DAO接口。 DAO与持久性实体紧密耦合,而Repository与域对象更相关。
repository jpa --interface ~.repository.UserRepository --entity ~.domain.User
5)现在添加Service层,您可以在其中添加所有业务逻辑到您的应用程序。此步骤将创建UserService
接口和UserServiceImpl
类
service --interface ~.service.UserService --entity ~.domain.User
分层设置完成。您现在可以创建Web图层并执行代码。
web mvc setup
web mvc all --package ~.web