java - 重置活动时如何销毁单例?
问题描述
我使用 gwt 2.8 和 google-gin 2.12
我想将一些对象注入到一个很深的 customcom.google.gwt.user.client.ui.composite
中。
例如,此组合可能包含一个面板,该面板包含其他 UIBinded 视图,该视图可以包含其他嵌套元素...
DeepComposite
\ APanel
\ AnObjectToShare
\ View1
\ View2
\ AnotherPanel
\ AnObjectToShare
\ View3
\ AnObjectToShare
您可以在此层次结构中看到我需要在各个级别访问的AnObjectToShare 。
我的第一个反应是将它作为Scope.SINGLETON
. 但是今天我觉得它太麻烦了,就好像我运行一个新的活动来初始化一个新的DeepComposite(这是我的 g-in-jection 上下文的起点),我以前的AnObjectToShare实例被重用了。
为了恢复,我正在寻找一种方法使我的单例仅在我当前的上下文中成为单例。或者一种重置我的单身人士的方法。或解决此问题的任何其他想法或解决方法。
解决方案
不幸的是,GIN 不支持自定义范围。但也许你可以迁移到 Dagger?(这将支持您的用例)
推荐阅读
- java - 在 Spring Data JDBC 中使用 @Id 注释的复合实体有什么影响?
- java - 如何在 Java 中创建已知数量的对象数组?
- android - 如何在 androidx.biometric 中仅使用人脸 ID?
- android - React Native,任务':app:mergeDexDebug'的执行失败
- postgresql - 获取所有具有外键约束的列名
- azure-sql-database - 如何在 Azure 中 SQL Manage 实例的只读节点上运行 sql profiler?
- r - 将对象添加到列表时使用 R 'Exists' 函数
- python - 并非所有 html 都在解析 Beautifulsoup python
- powerbi - Power BI 中报表数据的条件筛选
- elasticsearch - Elasticsearch 一个特定的分片在不同的数据节点中不断初始化