scala-guice和辅助注射
发布时间:2020-12-16 18:30:25 所属栏目:安全 来源:网络整理
导读:我已经使用google-guice和辅助注射机制已经有一段时间了.因为我在斯卡拉,只是发现 scala-guice,我也有兴趣使用它.但是我对如何使用辅助注射感到困惑.没有使用辅助注射的例子. 因此我的问题是:是否可以使用scala-guice辅助注射,如果是,请任何人提供一个简单
我已经使用google-guice和辅助注射机制已经有一段时间了.因为我在斯卡拉,只是发现
scala-guice,我也有兴趣使用它.但是我对如何使用辅助注射感到困惑.没有使用辅助注射的例子.
因此我的问题是:是否可以使用scala-guice辅助注射,如果是,请任何人提供一个简单的例子吗? 此外,对于google-guice,我使用以下库:javax.inject.jar,guice-3.0.jar,guice-assistedInject.jar.在这种情况下,我应该删除guice-3.0.jar? 解决方法
无论如何都可以在
Scala中使用辅助注射.如果scala-guice不提供工具,您可以直接使用辅助注入API:
trait Entity { ... } class EntityImpl @Inject ( @Assisted assistedDep: AssistedDependency,normalDep: NormalDependency ) extends Entity { ... } trait EntityFactory { def create(assistedDep: AssistedDependency): Entity } class YourModule extends AbstractModule with ScalaModule { def configure { install(new FactoryModuleBuilder() .implement(classOf[Entity],classOf[EntityImpl]) .build(classOf[EntityFactory]) ) bind[NormalDependency].to[NormalDependencyImpl] } } 没错,它不是很漂亮,但它完成了工作. 另外,你绝对不应该删除guice-3.0.jar.你为什么一开始就想到它? javax.inject.jar包含JSR-330注释,guice-3.0.jar包含Guice本身,guice-assistedinject-3.0.jar包含辅助注入扩展.如果您需要具有辅助注射支持的Guice,所有这些罐子都很重要. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |