我已經颳了很多資源,並做了這項工作,它有點複雜,這使我要求審查和其他想法如何正確注入彈簧依賴到DomainObjects ..將彈簧依賴關係注入到Domain對象的最佳實踐中?
我到目前爲止的解決方案包括..
定義需要loadweaving
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-instrument</artifactId>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
</dependency>
再依賴..在Spring上下文文件中配置它:
<context:spring-configured />
<context:load-time-weaver/>
使用@Configurable我的域類:
@Configurable
public class MyDomainClass {
....
}
和當然,使用這些VM參數:
-XX:-UseSplitVerifier -javaagent:C:/Users/albert/.m2/repository/org/springframework/spring-instrument/3.0.6.RELEASE/spring-instrument-3.0.6.RELEASE.jar
對於這個當前的解決方案,我有感覺這看起來太多了,就像需要大量的依賴關係一樣,還有虛擬機參數,在生產環境中部署時我不喜歡它在我不得不使用特定選項的情況下,我擔心未來可能不支持這些選項,或者在版本之間可能有不同的行爲。做與原型範圍domainObjects的
即時通訊思想,但我從數據庫中(而不是從的applicationContext)獲取域對象時,害怕的依賴問題。
請分享您的經驗,謝謝!
什麼是你注入到你的域對象? –
@DaveNewton:IM注射工作(http://martinfowler.com/eaaCatalog/unitOfWork.html),這是請求範圍的單位 – bertie
我會*非常*謹慎採取這種方式 - 我不確知你試圖去做什麼,但是這聽起來像是有些倒退了。 –