Guice是Google开发的, 一个轻量级的依赖注入框架, 跟Spring最大的区别在于脱离xml配置,
大量使用Annotation来实现注入, 支持属性, 构造器, setter等多种方式注入对象..., 然后Injector 从接口中获取对象,
意义也不大, 因为实际业务中, 接口可能在上层包里, 无法直接调用实现类.
1 @ImplementedBy(ServiceImpl.class)
2...11 System.out.println(demo.getService());
12 System.out.println(demo.getService2());
属性注入的时候..., 必须通过Guice.createInjector().getInstance(GuiceObjectDemo.class);来获取实现类, 如果直接new的话, 会inject失败, 打印出两个null..., 是在第一次使用的时候才初始化, 也可以通过设置asEagerSingleton, 注入到容器后立刻初始化.
1 Injector in = Guice.createInjector