我正在開發JSF2和Spring3的Web應用程序,並且存在反序列化問題。Spring3反序列化 - 單例注入
我有一個像這樣定義一些會話作用域bean:
@Controller(value = "admin")
@Scope(value = "session")
public class AdminBean implements Serializable {
...
我也有一些單身定義,像這樣:
@Repository
public class Repo {
單身注入會話豆這樣
@Resource
private transient Repo repo;
在我加入transient
之後,我的序列化/反序列化問題化已消失。但是現在我遇到了反序列化依賴關係(本例中爲repo
)爲空的問題。我在這個問題上搜索了很多,發現了一些解決方法,但我仍然想知道這個問題的最佳解決方案是什麼?
在我看來,在會話bean中使用應用程序範圍的bean是一個很常見的情況,是不是有一個乾淨的解決方案呢?我使用@Configurable來解決方案,但是我真的需要一些加載時間編織的東西嗎?注入的目標已經Spring管理的,所以也沒有任何意義,我.. 請微啓我
更新後2年後:您可以透明地注入會話範圍豆成應用scoped-豆(儘管在大多數情況下可能不是個好主意)。我只需在@Scope上相應地設置proxyMode。
哇。 EJB3透明地處理它。我希望Spring也能做到這一點。是否有你使用Spring,這些天什麼特別的原因,與Java EE 6? – BalusC
@BalusC他可以使用它與外部庫的集成模塊的負載,測試能力或者僅僅因爲他使用了Spring MVC(有沒有像JEE6MVC沒有這樣的事情)或其它數百種原因。不要開始思想或宗教辯論。 –
@Peter:我只是好奇,因爲我從來沒有用過Spring,並試圖理解人們使用它的原因(順便說一句,使用Spring MVC和JSF一起將會是矛盾的)。 – BalusC