接下来开发Domain Bundle这个模块。这个Bundle不需要是一个Spring-Powered Bundle,因为只需要作为被其他模块直接引用的类文件而已,所以没有spring的配置信息。由于只有一个联系人的业务,所以这里只有一个domain对象,就是Contact。
这里直接贴上它的代码
package net.georgezeng.test.domain; import java.io.Serializable; import javax.persistence.Basic; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Table; @Entity @Table(name = "contact") public class Contact implements Serializable { /** * */ private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; @Basic private String userName; @Basic private String phoneNum; public Long getId() { return id; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPhoneNum() { return phoneNum; } public void setPhoneNum(String phoneNum) { this.phoneNum = phoneNum; } }
关于import:
可以看到domain对象引用到了javax.persistence这个包,所以我们需要import这个package。
关于export:
前面我们说到过domain bundle将会被除datasource bundle之外的所有bundle所引用,因此我们需要将net.georgezeng.test.domain这个包export
import和export的操作都需要通过编辑MANIFEST.MF文件来完成(操作方法上一章节已经详细介绍了),下面是MANIFEST.MF文件最终的内容:
Manifest-Version: 1.0 Bundle-Version: 1.0.0 Bundle-Name: Domain Bundle-ManifestVersion: 2 Bundle-SymbolicName: net.georgezeng.test.domain Import-Package: javax.persistence;version="[1.0.0,1.0.0]" Export-Package: net.georgezeng.test.domain
至此Domain Bundle开发完毕
附上该项目的源码