我已經配置了一個Spring應用(使用Camel與ActiveMQ代理集成),使得兩個特定的類(例如Person
和Personality
)獲得連線並注入其所有依賴關係自動通過Spring容器。對於此示例,Person
對象具有Personality
對象作爲成員/屬性。所以在Spring配置文件導線起來Personality
實例,這些bean在有線People
豆被引用:依賴注入彈簧/駱駝垃圾收集
<bean id="personality" class="com.me.someProgram.Personality" singleton="false">
<!-- blah... -->
</bean>
<bean id="person" class="com.me.someProgram.Person" singleton="false">
<!-- People have Personalities -->
<property name="personality" ref="personality"/>
<!-- blah... -->
</bean>
豆都被指定爲原型範圍,因爲這是有道理的,我的應用程序。基本上,我每次獲得新的Person
時都需要獲取Personality
的新實例。
我的問題:
這是使用Spring我的第一個應用程序,和一般的IoC /依賴注入。我擔心垃圾收集和內存泄漏。當bean是原型時,並且原型中嵌套了原型(通過has-a關係),您是否需要擔心GC /內存泄漏?或者Spring容器是否緩解了所有這些問題?是否有關於Spring/IoC內存管理的最佳實踐?任何反模式,以避免?
我的實際業務對象非常大,而且我會製作其中的很多,所以如果我開始走向一條充滿不良內存管理的道路,這將是一次非常非常顛簸的過程。
謝謝!
值得每一點!謝謝! – IAmYourFaja