西元2006年03月30日
Java EE 5.0 Resource Injections
Java EE 5.0 之中有定義一些可以使用 injection 的 classes
*Servlet
- servlets
- servlet filters
- event listeners
* JSP
- tag handlers
- tag library event listeners
* JSF
- scoped managed beans
* JAX-WS
- service endpoints
- handlers
* EJB
- beans
- interceptors
* Java EE platform
- main class ( static )
- login callback handler
之前沒有看到這個規定, 難怪我嘗試著使用 Struts Action 透過 @Resource, @EJB 取得相關的 Resources, 都是回傳 NULL, 看來 action 之中目前僅能透過 JNDI context.lookup 的方式取得 ejb3 及其他的環境變數.
另外, 曾經當面和 saijones 提到 Deployment Descriptor 與 Annotations 的互補性, 在 spec 中也有定義, 當你在撰寫程式的時候, 使用 @Annotations 可以簡化開發的流程, 基本上, 你就少寫了一個 XML 檔案, 更可以直接設定預設值. 但是當部署人員或應用系統組合人員, 發現你的一些數值需要重新設定, 是不必重新打開原始碼, 修改 @annotations 的部分, 僅僅需要丟一個 xml 檔案放在 /META-INF/ 之中.
不過, 這種方法, 會不會造成 debug 更為艱鉅呢, 如果工程師被告知有 bugs, 可能永遠不知道是 deployer 將初始值修改成另外一個數值 !! 看來, 簡化開發是否能夠簡化 Debug !! 將會是新的 UnitTest 設計考驗 !!
另外, 使用 java EE platform 之中的 annotation 大多是 @Retention 為 RUNTIME 的, 所以並非僅用於 compile-time, annotation 的資料是會封裝在 classes 之中.. 所以使用上要格外留意 :)
21:05 發表於 *Overview | 永久網址 | 留言 (0) | Email this
西元2006年03月15日
該怎麼面對 JSF !
21 世紀初期就是一個很有趣的時代..
如果就拿 Java 來說, 則是一個詭譎多變的時代
無論是 Servlet, JSP, 甚至 JSTL, 幾乎每年都在反對著之前的 java 架構
當大家在嚷嚷著不使用 struts 的時候,
Webwork 的團隊卻和 struts 合作 ?!
當大家放棄 EJB 準備使用 SpringFramework 的時候,
EJB3.0 卻浩浩蕩蕩要統一 Business + Persistence Layer ?!
不過我相信
已經使用 SpringFramework 的人們 ~ 一定不會想要轉換跑道 ..
無論結果如何, MVC Framework 應用在 web 之中,
一定得去面對和實作, 無法逃避的選擇..
除非你是自己寫的 Framework或是直接用 jsp 來玩 ...
當我面對著 JSF 預設在 Java EE 5.0 之中
真的覺得很無力...
畢竟我到目前為止, 還是認為 JSF 不是成熟的規格..
又面對著 Tapestry, Wicket 的侵略與威脅
我實在不知道 JSF 的市場在哪裡 ...
我只能幻想著未來會有越來越多的 JSF components
讓我可以靠著拖拉工作
簡單說.
如果 ( if )
你要挑選一個 component-based mvc framework.學習
並且 ( && )
而且沒有任何根深蒂固的觀念的話 ( 沒有其他 framework 的經驗 )
你再去看 JSF 吧
16:31 發表於 JSF | 永久網址 | 留言 (0) | Email this

