所以實例化一個基本的EJB創建不能用新
@Stateless
@Local
public class boo {
...
}
該項目將是10年前使用的是靜態方法模式變成一個EJB模式寫了大量的業務邏輯廣口瓶中的EJB和REST服務。我的問題是上面的例子在潛在的數百個地方這樣實例化
boo = new boo();
這使我的生活變得很悲慘。由於EJB不會讓你做一個私有構造函數,有沒有辦法讓我可以使用NEW語句導致編譯器錯誤,這樣我們就可以更輕鬆地追蹤所有內容並將它們轉換爲bean注入?我有一個在773個地方實例化的類。
如果你創建另一個構造函數的參數並刪除默認的空構造函數?它會顯示新的boo()發生在哪裏,對吧?!並在對象聲明中使用cdi @Inject – 2014-09-30 23:33:16
這就是我們現在正在做的事情。我的問題是我們的開發團隊中有一半是離岸的,我們發現其中一些人在被告知不要之後使用新的。我想不出一種會阻止未來發展的模式。但是,當然,在編碼過程中,我們可以創建僞造的構造函數等,並刪除它們並移動到下一個類,等等。 – scphantm 2014-09-30 23:41:45
好吧,我不明白。也許這是一個想法,使用一些工廠模式來防止'新'用法,但這種方式我不認爲有可能使用EJB – 2014-09-30 23:45:44