我正在使用 spring.net 创建我的存储库。但是,我想知道这些对象的生命周期是多少。在我的存储库中,从数据库中检索的对象缓存在注册表中。但这应该只发生在单个服务器调用上。您能否在 spring.net 配置中指定应为每次调用服务器创建对象。
我猜 singleton=false 不适合我,因为这每次都会创建一个新的存储库,即使在同一个线程中也是如此。
我正在使用 spring.net 创建我的存储库。但是,我想知道这些对象的生命周期是多少。在我的存储库中,从数据库中检索的对象缓存在注册表中。但这应该只发生在单个服务器调用上。您能否在 spring.net 配置中指定应为每次调用服务器创建对象。
我猜 singleton=false 不适合我,因为这每次都会创建一个新的存储库,即使在同一个线程中也是如此。
这是一个复杂的问题,因为缓存和注册表的设计开始发挥作用。听起来持久对象的生命周期将由注册表控制,因为它将维护引用。
所以有几个问题要问:
在 Spring for Java EE 中,通常使用 Hibernate 和 EhCache 获得可配置的缓存。如果您使用 Spring JDBC 模板,则必须自己编写。您为存储库使用什么实现?
从您以前的帖子中,我看到您将所有存储库放在一个注册表类中以检索它们。
我会放弃这种方法,将存储库直接注入需要它们的类中。然后,您的对象的生命周期变得更加清晰。
您还应该查看Spring.NET 必须提供的其他范围。