2
我已閱讀了JAX-RS上的一些內容,並想知道通常放置註釋的位置?我應該將它們添加到現有的EJB上嗎?還是應該創建新的EJB?如果是,我應該使用在「常規」EJB上使用的接口(如果有的話)?通常應用JAX-RS註釋的地方在哪裏?
我已閱讀了JAX-RS上的一些內容,並想知道通常放置註釋的位置?我應該將它們添加到現有的EJB上嗎?還是應該創建新的EJB?如果是,我應該使用在「常規」EJB上使用的接口(如果有的話)?通常應用JAX-RS註釋的地方在哪裏?
正如你發現的那樣,有多種方法來模擬它們。我不確定整體最佳實踐,但我個人選擇使用通過EJB bean注入的CDI託管bean。
所以,這有點像你的第二個選擇,做新的bean,但不要讓它們成爲EJB。
例如
@Produces("application/xml")
@Path("xml")
@javax.enterprise.context.RequestScoped // CDI one, not JSF one
public class MyResource {
@Context
private SecurityContext securityContext;
@Inject
private MyDAO myDAO; // MyDAO = EJB Bean
@GET
@Path("some/path")
public Foo getFoo() {
return myDAO.getFooByUserName(securityContext.getUserPrincipal().getName());
}
}
它也取決於是否有方法只能用於JAX-RS。上面的例子沒有顯示這一點,但我發現它經常爬起來,當它分開豆類只是一個整潔。