簡體   English   中英

如何在我的Java EE應用程序中連接各個部分

[英]How to connect the various part in my Java EE Application

我開發Java EE應用程序只是為了利用我在閱讀本書時所學的知識。 我制作了一個簡單的Entity和一個DAO對象,對該實體執行不同的操作,例如創建,更新等。然后在我的EJB中,我想使用此DAO對象,以便以后可以將其公開給JSF等。

我在理解如何在應用程序的不同層中使用不同類的對象時遇到一些問題。 如何將它們彼此暴露?

我是否像常規Java SE一樣進行操作? 是否有不同類的屬性,並在我想要的類中實例化它們? (可能不會,我已經看到了@Inject等的用法,但我一點也不了解。而且也不是我什么時候可以使用的)

我會講一些關於何時/如何使用不同注釋以及如何連接不同圖層的文本,而不只是一些顯示它的代碼。

如果有人有空閑時間,我正在Java聊天中)

您問的問題太籠統了。 拿一些關於Java EE的不錯的書(有很多)。 為了更好地理解依賴注入,我建議使用官方的Weld 文檔 但是,以下是一個典型示例,旨在向您展示如何連接不同的Java EE層:

JPA實體

@Entity
public class Employee {

  @Id
  private Long id;

  private String name;

  //getters and setters
}

EJB bean

@Stateless
public class EmployeeService {

  //The entity manager will be injected automatically  
  @PersistenceContext
  private EntityManager em;

  public Employee findEmployeeById(Long id) {
    return em.find(Employee.class, id);
  }

}

JSF控制器 (假設它是CDI-bean):

@Named
@SessionScoped
public class EmployeeController implements Serializable {

  //using CDI @Inject annotation empService will be initialized automatically
  @Inject
  private EmployeeService empService;

  //this method can be called from .xhtml page
  public String obtainEmployeeName(Long id) {
    String empName = "";
    Employee emp = empService.findEmployeeById(id);
    if (emp != null) {
      empName = emp.getName();
    }
    return empName;
  }
}

xhtml頁面

<h:outputText value="#{employeeController.obtainEmployeeName(3)}" />

更新一些可能有幫助的書:

  • Pro JPA 2:掌握Java Persistence API
  • 核心JavaServer Faces(第3版)
  • 從GlassFish 3開始Java EE 6
  • 這些非常受歡迎,涉及很多領域。

    暫無
    暫無

    聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

     
    粵ICP備18138465號  © 2020-2024 STACKOOM.COM