Guice provider注解

package com.ilucky.guice.test8;

import com.google.inject.Guice;
import com.google.inject.Injector;

/**
 * v1.0:20161116
 * Provider绑定注解.
 * @ProvidedBy(MyProvider.class)等价于binder.bind(MyService.class).toProvider(MyProvider.class); 
 * 并且,注意bind优先.
 */
public class MainTest {

    public static void main(String[] args) {
        Injector injector = Guice.createInjector();
        MyService myService = injector.getInstance(MyService.class);
        myService.service("Hello Guice!");
    }
}
package com.ilucky.guice.test8;

import com.google.inject.Provider;

public class MyProvider implements Provider<MyService>{

    @Override
    public MyService get() {
        MyService myService = new MyServiceImpl();
        return myService;
    }    
}
package com.ilucky.guice.test8;

import com.google.inject.ProvidedBy;

@ProvidedBy(MyProvider.class)  
public interface MyService {

    public void service(String service);
}
package com.ilucky.guice.test8;

public class MyServiceImpl implements MyService {

    public void service(String service) {
        System.out.println("===>" + service);
    }
}

版权声明:本文为sidongxue2原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。