Scala与Spring:强强联合
2010-08-04 00:00:00 来源:WEB开发网核心提示: 第二步 接下来介绍如何将Person实体转换为一个“内容丰富”的领域对象,在调用link方法时,Scala与Spring:强强联合(2),该对象内部会使用NotificationService执行额外的逻辑,这个服务会“神奇地”按需注入到对象中,由
第二步
接下来介绍如何将Person实体转换为一个“内容丰富”的领域对象,在调用link方法时,该对象内部会使用NotificationService执行额外的逻辑,这个服务会“神奇地”按需注入到对象中。下图展示了这一切:
val p1 = Person(“Martin Odersky”) //the omission of the ‘new’ keyword is intentional
val p2 = dao.findByName(“Rod Johnson”)
p1.link(p2) //magic happens here
personDao.save(p1)
第三步
最后,本文将介绍Spring是如何从Scala的高级概念:特征(traits)中受益的。特征可以将内容丰富的Person领域对象转换为羽翼丰满的OO类,这个类能够实现所有的职责,包括CRUD操作。如下所示:
Person(“Martin Odersky”).save
第一步:使用Scala、Spring和Hibernate/JPA实现DAO需求
毫无疑问,DAO在设计上应该有一个泛型DAO和一个针对Person实体的具体DAO。泛型DAO中应该包含基本的CRUD方法,如save、 remove、findById和findAll等。由于是泛型,因此它处理的是类型而不是具体的实体实现。总的来说,这个泛型DAO具有如下的接口定义:
trait GenericDao[T] {
def findAll():List[T]
def save(entity:T):T
def remove(entity:T):Unit
def findById(id:Serializable):T
}
更多精彩
赞助商链接