举例来说,下面的代码,使用注释将一个订购单中的商品数量限制为10:
// can be configured from the deployer
@Resource int numberOfItems;
public void validatePO(PurchaseOrder po) throws NumberOfItemsException
{
if(po.getItemCount() > numberOfItems)
throw new NumberOfItemsException("My PO cannot have more than 10 items");
}
使用部署描述符也可以达到同样的目的:
Number of Items in my PO
numberOfItems
java.lang.Integer
10
Looking up this value:
Context initContext = new InitialContext();
Context myEnv = (Context) initContext.lookup("java:comp/env");
Integer NumOfItems = (Integer) myEnv.lookup("numberOfItems");
当使用注释或标签向代码中注入环境条目时,容积就有了查找这些值的职责。
新CMP标签
Java EE 5.0提供了许多容器管理持久性(CMP)的新标签。开发者只需指定表格的名称和列的名称,其它的由容器完成。在下面的例子中,@Table指定帐目类数据将储存在ACCOUNT表格中:
@Entity
@Table(name = "ACCOUNT")
public class Account implements java.io.Serializable {
@Id
public String getUserId() { return userId; }
@Embedded
public ContactDetails getContactDetails() { return info; }
@Column(name="FIRSTNAME")
public String getGivenName(){ return givenName; }
}
开发者可以使用@Column标签,从而使表格中列的名称更加合理。
Java EE服务器中的Web服务
来源:考试大-Java认证
责编:yunyun 评论 纠错