我已经配置了一个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