草庐IT

java - 使用 Guice,如何注入(inject)父类(super class)的构造函数参数?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:GuicewithparentsclassBook{stringtitle;}classChildrensBookextendsBook{}classScienceBookextendsBook{}我想在子类中注入(inject)书名,例如,childrensBook应该被分配标题“AliceinWonderland”,ScienceBook应该被分配“OntheOriginof物种”。我如何使用Guice完成此操作?(注意我不想覆盖子类中的title字段)

java - 实例化每个范围/组的单例 - 陷入 Guice 依赖 hell

这个问题是Usingguiceforaframeworkwithinjectedclasses,properwaytoinitialize?的延续,我已经尝试实现,也尝试了其他方法来解决这个问题,但到目前为止没有任何效果。主要问题是这个。我有一个在API的不同部分公开的InterfaceA和InterfaceB。有两个类实现了这两个接口(interface),TestClass和RealClass,因此根据我是在测试还是在做其他事情,我可以执行以下操作:bind(InterfaceA.class).to(TestClass.class);bind(InterfaceB.class).t

java - 注入(inject)命名的 Guice 单例

我有一个简单的POJO:publicclassMyPOJO{@InjectprivateFizzfizz;privateBuzzbuzz;//restofclassomittedforbrevity}我想配置我的Guice模块,使其注入(inject)两种类型的Fizz:一个特殊的全局单例Fizz实例;和其他(非特殊)Fizz实例我希望MyPOJO被注入(inject)特殊/单例实例。所以我修改了我的代码:publicclassMyPOJO{@Inject@Named("Special-Fizz")privateFizzfizz;privateBuzzbuzz;//restofclas

java - 使用 Guice 将委托(delegate)人注入(inject) RESTEasy 中的资源方法

我正在使用RESTEasy和Guice开发RESTAPI,目前我正在尝试通过使用类似于Dropwizard中的@Auth的注释来合并基本身份验证。与@Path("hello")publicclassHelloResource{@GET@Produces("application/json")publicStringhello(@AuthfinalPrincipalprincipal){returnprincipal.getUsername();}}hello资源调用应该被一些代码拦截,这些代码使用授权HTTP请求header中传递的凭据执行基本身份验证,并成功将主体注入(inject)

java - 使用 Multibinding 概括 guice 的机器人腿示例

我有一个与Guice的机器人腿示例非常相似的用例,只是我不知道我有多少条“腿”。因此我不能使用机器人腿示例所需的注释。我希望使用Guice的Multibindings扩展将所有这些“腿”收集到一个java.util.Set中。从技术上讲,在PrivateModule中,我想将一个实现直接公开为将由Multibindings扩展提供的集合的一个元素。我只是不知道该怎么做。有关引用和代码示例,请参见此处的机器人腿示例:http://code.google.com/p/google-guice/wiki/FrequentlyAskedQuestions#How_do_I_build_two_

java - 使用 Guice 实现参数化工厂

我有一个我喜欢使用Guice重新实现的工厂:enumMyObjects{OBJECT1,OBJECT2,...}classObject1implementsSomeInterface{...}classObject2implementsSomeInterface{...}...classFactory{publicstaticSomeInterfacecreateObject(MyObjectsobj){switch(obj){caseOBJECT1:returnnewObject1();caseOBJECT2:returnnewObject2();...}}有没有简单的实现方法?类似

java - 如何使用 Google Guice 注入(inject)记录器

通常我这样定义记录器:privatestaticfinalLoggerlogger=LoggerFactory.getLogger(MyClass.class);但是在使用@Inject时我们必须使用非静态和非final字段,比如:@InjectprivateLoggerlogger;即记录器将在此类的每个实例中创建,记录器也是可变的。可能存在某种使记录器静态的方法?还有我如何将记录器绑定(bind)到某个类(我在从工厂LoggerFactory.getLogger(MyClass.class);创建记录器对象时使用发送类对象,如何使用注入(inject)以相同的方式创建记录器?)?

java - 通用对象列表的 Guice 绑定(bind)

我需要告诉guice我想要一个OneFoo和一个TwoFoo作为Foo列表注入(inject)Bar的绑定(bind)语句是什么?这里的设置是一个责任链。现在我有两个实现,但Bar不需要知道。@InjectBar(Listfoos){...}...classOneFooimplementsFoo{@InjectOneFoo(...){...}...classTwoFooimplementsFoo{@InjectTwoFoo(...){...}但我正在努力使用类型、TypeLiteral等来配置将两个Foo实现提供给Bar的绑定(bind)。 最佳答案

java - Guice - 如何实现返回不同实现的工厂

假设我有一个名为Guice服务的服务,这是它的构造函数publicGuiceService(IPaymentpayment){this.payment=payment;}我的代码曾经使用枚举创建它IPaymentpayment=newPaymentFactory.create(PaymentType.Cash);NaiveServicenaiveService=newNaiveService(payment);而且我必须在某个地方有一个工厂实现。像这样的东西publicIPaymentcreate(PaymentTypepaymentType){IPaymentcardPayment=

java - 将依赖项注入(inject) Guice 模块

我有一个获取并持有APItoken的模块(简化):@SingletonpublicclassKeyHolderModuleextendsAbstractModule{//Thisdoesn'tseemtobeinjectedprivate@InjectTokenConnectorconnector;privateDateTimekeyLastRefreshed;privateStringkey;privateCredentialscreds=config.getCreds();@Overrideprotectedvoidconfigure(){this.key=connector.ge