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.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开发完毕

附上该项目的源码

猜你喜欢

转载自georgezeng.iteye.com/blog/1130885
今日推荐