Guice依赖注入的三种方式和injectMembers方法的使用
来源:互联网 发布:淘宝主营类目在哪里看 编辑:程序博客网 时间:2024/06/05 05:51
package com.ilucky.guice.test4;import com.google.inject.Guice;import com.google.inject.Injector;/** * v1.0:20161114 * 注解:依赖注入@Inject * 依赖注入的方式有三种:属性注入,构造方法注入和setter方法注入. * Injector.injectMembers方法的使用: * 即如果某个对象是new出来的,但是它里面的对象需要依赖需要注入,则可使用injectMembers方法. * @author IluckySi */public class MainTest { public static void main(String[] args) { Injector injector = Guice.createInjector(); Person person = injector.getInstance(Person.class); person.diplayInfo(); System.out.println("-------------Injector.injectMembers------------------"); Person2 person2 = injector.getInstance(Person2.class); person2.diplayInfo(); }}/**Mobile:[Mobile: 988438434]Laptop:[Laptop: HP 323233232,$545034]Other:[Other: IluckySi]-------------Injector.injectMembers------------------Laptop:[Laptop: HP 323233232,$545034]*/
package com.ilucky.guice.test4;import com.google.inject.Inject;public class Person { private Other other; private Mobile mobile; @Inject private Laptop laptop; @Inject public Person(Mobile mobile) { this.mobile = mobile; } @Inject public void setOther(Other other) { this.other = other; } public void diplayInfo() { System.out.println("Mobile:" + mobile); System.out.println("Laptop:" + laptop); System.out.println("Other:" + other); }}
package com.ilucky.guice.test4;public class Other { private String name; public Other() { this.name = "IluckySi"; } public String toString() { return "[Other: " + name + "]"; }}
package com.ilucky.guice.test4;public class Mobile { private String number; public Mobile() { this.number = "988438434"; } public String toString() { return "[Mobile: " + number + "]"; }}
package com.ilucky.guice.test4;public class Laptop { private String model; private String price; public Laptop() { this.model = "HP 323233232"; this.price = "$545034"; } public String toString() { return "[Laptop: " + model + "," + price + "]"; }}
package com.ilucky.guice.test4;import com.google.inject.Guice;import com.google.inject.Injector;public class Person2 { private Home h; public Person2() { h = new Home(); } public void diplayInfo() { Injector injector = Guice.createInjector(); injector.injectMembers(h); h.diplayInfo(); }}
package com.ilucky.guice.test4;import com.google.inject.Inject;public class Home { @Inject private Laptop laptop; public void diplayInfo() { System.out.println("Laptop:" + laptop); }}
阅读全文
0 0
- Guice依赖注入的三种方式和injectMembers方法的使用
- Guice 三种注入方式
- spring Ioc 依赖注入的三种方式:构造函数注入、setter方法注入和接口注入
- spring依赖注入的三种方式
- Spring依赖注入的三种方式
- Spring依赖注入的三种方式
- Spring依赖注入的三种方式
- Spring依赖注入的三种方式
- Spring依赖注入的三种方式
- Spring的三种依赖注入方式
- 依赖注入的三种方式
- spring的依赖注入三种方式
- spring依赖注入的三种方式
- Spring依赖注入的三种方式
- Spring依赖注入的三种方式详解之三:工厂方法注入
- Spring依赖注入的三种方式详解之二:构造方法注入
- Google Guice 依赖注入方式--2
- Spring依赖注入(DI)的三种实现方式
- 6 个技巧,提升 C++11 的 vector 性能
- C++ friend function and friend class
- 深入分析Java中的length和length()
- Linux学习笔记2
- Tomcate部署乱码解决方案
- Guice依赖注入的三种方式和injectMembers方法的使用
- win7 x64位 redis安装与使用
- Linux上Tomcat启用软链接的三种方式 【转】
- 字符设备实例,根据《linux设备驱动开发详解》globalmem驱动加上个人理解的注释
- EOJ----章鱼哥没有日历
- 使用jodd-email实现邮件发送
- android RxJava
- Scala容器库(Scala’s Collections Library)
- Java线程的yield方法测试