我想知道用googleguice注入(inject)实用方法是否是一种好的风格。假设我们有一个ConverterUtility类:publicclassUtilClass{publicstaticResultconvert(Sourcesrc){//Doconversionreturnresult;}}我的想法是像这样使用guice将此实用程序作为单例注入(inject)@SingletonpublicclassUtilClass{publicResultconvert(Sourcesrc){//Doconversionreturnresult;}}对于使用guice构建的应用程序,推
我正在从事一个相当大的项目,其中有很多注入(inject)。我们目前正在使用一个实现Provider的类,每个注入(inject)都需要一个,它们大多只有一行get方法。每次我需要一个新的提供者时都需要创建一个新类,这开始变得很烦人。在我的Module中使用提供程序类而不是@Provides方法有什么好处,反之亦然? 最佳答案 据我所知,对于大多数简单的情况,它们是完全等价的。/***Class-styleprovider.*Inmodule:bind(Foo.class).annotatedWith(Quux.class).toP
有一个bug在导致大多数或所有图形呈现损坏的Guice绘图器实用程序中。是否有解决方法或修复方法? 最佳答案 我稍微修改了@wuppi的答案以隐藏类路径和长随机名称注释,使图形更加紧凑和可读。他的answer编辑后的代码如下:我发现这个实用方法非常有用,而且它从来没有为我打印出错误的图表。关于style=invis错误:Guice绘图器插件生成一个点文件,该文件将某些类设置为不可见的样式。下面发布的方法中的replaceAll()解决了这个问题。其余代码与Guice示例几乎相同。我合并了Scot对Guice4.x的修复,其中也包括T
一年多没有发布,甚至没有小错误修复。很少提交到存储库,并且最近两个月没有提交。使用这个库开始新项目安全吗? 最佳答案 Guice4现在处于测试阶段(参见https://github.com/google/guice) 关于java-GoogleGuice是否活跃?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/11859207/
我想使用PlayFramework2.4中GuiceInjector类的getInstance方法,如何访问它?我已经使用GuiceFactoryModuleBuilder实现了一个在运行时返回另一个工厂的工厂!在返回工厂的第二级,我需要访问PlayGuiceInjector以使用反射而不是@Inject注释手动获取对象。 最佳答案 方法有很多种。我用这个。编辑:这与Play.maybeApplication.map(_.injector.instanceOf[MyProdClass]).getOrElse(newMyDevClas
我们使用自定义Guice范围,@TestScoped,对于我们的一些持续单个测试方法的JUnit测试,以及一个JUnit@Rule适本地进入和退出范围。它看起来像这样:publicclassMyJUnitTest{@RulepublicCustomRulecustomRule=newCustomRule(MyModule.class);@InjectprivateThingthing;@Testpublicvoidtest1(){//Use"thing"}@Testpublicvoidtest2(){//Assuming"Thing"is@TestScoped,we'llhaveane
我有一些测试,如果某些Guice作用域使用不当,我希望它们失败。例如,@Singleton不应该有任何@RequestScoped或@TestScoped依赖项(Provider当然可以)。在生产中,这已部分解决,因为在进入范围之前将构建急切绑定(bind)的单例,从而导致OutOfScopeException秒。但是在开发中,单例会在范围内延迟创建,并且没有明显的问题。根据these判断twoUnresolved问题,似乎没有简单的内置方法可以做到这一点。我可以使用SPI实现吗?我尝试使用TypeListener但不清楚如何获取给定类型的依赖项。 最佳答案
什么是SpringFramework相当于FactoryModuleBuilder,@AssistedInject,和@Assisted在GoogleGuice?换句话说,使用Spring创建其方法接受应用程序(而非容器)必须提供的参数的工厂对象的推荐方法是什么?Spring静态工厂方法与FactoryModuleBuilder不同。FactoryModuleBuilder构建一个Guice模块,生成实现FactoryMethodPattern的“工厂”.与Spring静态工厂方法不同,这些工厂对象的方法是实例方法,而不是静态方法。静态工厂方法的问题在于它是静态的并且没有实现接口(in
我正在学习Guice,我不太清楚如何使用Injector实例。最好在应用程序Bootstrap上创建一次Injector实例,并将其设为公共(public)单例?我们是否总是必须使用Injector#getInstance(SomeClass.class)来获取放置Guice的@Inject注释的类? 最佳答案 您不应该将注入(inject)器作为全局单例传递。你看过:https://github.com/google/guice/wiki/GettingStarted?请注意,RealBillingService不使用注入(inj
关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭4年前。Improvethisquestion我是一名Java开发人员,我经常使用Guice。现在我想学习C#,但令我惊讶的是我没有找到与Guice等效的工具。我刚刚找到了像Ninject、Unity、StructureMap这样的工具,但我正在寻找像Guice这样的工具。我不想手动记下我的所有注册...那么最好的选择是什么?