OSGI下的web应用开发(4)
接下来开发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.0Bundle-Version: 1.0.0Bundle-Name: DomainBundle-ManifestVersion: 2Bundle-SymbolicName: net.georgezeng.test.domainImport-Package: javax.persistence;version="[1.0.0,1.0.0]"Export-Package: net.georgezeng.test.domain
?
?
至此Domain Bundle开发完毕
?
附上该项目的源码