相关疑难解决方法(0)

Guice运行时依赖参数重新注入

关于Guice的问题.我还在学习它,但我能理解基础知识.

这个问题已经在网上问了几次,但从来没有一个具体的答案(没有我能找到).

说我的情况就像在图片上(类似的例子是在网上).

在此输入图像描述

public class Dog {}

public class Walk implements Walkable {
    private final Dog dog;
    private final boolean leash;

    @Inject
    public Walk(Dog dog, @Assisted boolean leash) {
        this.dog = dog;
        this.leash = leash;
    }

    public void go() {
    }
}

public interface Walkable {
    void go();
}

public interface WalkFactory {
    Walk create(boolean leash);
}

public class AssistedMain {
    public static void main(String[] args) {
        Injector i = Guice.createInjector(new AbstractModule() {
            protected void configure() {

                install(new FactoryModuleBuilder().
                        implement(Walkable.class, …
Run Code Online (Sandbox Code Playgroud)

java guice

7
推荐指数
1
解决办法
3643
查看次数

guice:命令行的运行时注入/绑定

我有以下问题:

   @Inject
   MyClass(Service service) {
      this.service = service;
   }

   public void doSomething() {
      service.invokeSelf(); 
   }
Run Code Online (Sandbox Code Playgroud)

我有一个模块

bind(service).annotatedWith(Names.named("serviceA").to(ServiceAImpl.class);
bind(service).annotatedWith(Names.named("serviceB").to(ServiceBImpl.class);
Run Code Online (Sandbox Code Playgroud)

现在我的问题是我想让用户通过命令行参数动态选择运行时基础上的注入.

public static void Main(String args[]) {
   String option = args[0];
   ..... 
}
Run Code Online (Sandbox Code Playgroud)

我怎么能这样做?我是否必须创建多个模块才能执行此操作?

java binding command-line guice code-injection

3
推荐指数
1
解决办法
3400
查看次数

标签 统计

guice ×2

java ×2

binding ×1

code-injection ×1

command-line ×1