guice框架是一种类似于spring的ioc容器的一种框架,使用简单,比較轻量级的一个框架,速度极快,灵活性极强,如今就先来写几个guice的程序。
在这里我就不给出guice的jar包,这些都能够比較easy地下载到。
这里与spring同样,必须先要有接口及事实上现类才干实现注入。
程序为:
接口HelloGuice:
package cn.com.guice; /** * Created by xiaxuan on 15/7/10. */ public interface HelloGuice { public void sayHello(); }实现类:
package cn.com.guice.impl; import cn.com.guice.HelloGuice; /** * Created by xiaxuan on 15/7/10. */ public class HelloGuiceImpl implements HelloGuice{ @Override public void sayHello() { System.out.println("Hello Guice!"); } }
在这里先使用非注解的形式来进行。
这里要使用一个module来进行注入和绑定。程序例如以下:
package cn.com.guice; import cn.com.guice.impl.HelloGuiceImpl; import com.google.inject.Binder; import com.google.inject.Module; /** * Created by xiaxuan on 15/7/10. */ public class HelloGuiceModule implements Module{ @Override public void configure(Binder binder) { binder.bind(HelloGuice.class).to(HelloGuiceImpl.class); } }
如此基本就完毕了注入,如今来測试这个程序。
測试例如以下:
package cn.com.guice; import cn.com.guice.HelloGuice; import cn.com.guice.HelloGuiceModule; import com.google.inject.Guice; import com.google.inject.Injector; /** * Created by xiaxuan on 15/7/10. */ public class TestGuice { public static void main(String[] args){ Injector injector= Guice.createInjector(new HelloGuiceModule()); HelloGuice helloGuice=injector.getInstance(HelloGuice.class); helloGuice.sayHello(); } }
測试结果为:
如此便完毕了di的依赖注入思想。