java guice_java – Guice Inject类中的字段不是由Guice创建的
通常,Guice需要创建对象来注入它们.如果你刚刚打电话给新的StarryEyes(名字),Guice就不会去看那个对象,所以不能注入它.您可以做的一件事是在创建它之后,在对象上调用inject.injectMembers(obj).不过,我不建议您避免在代码中引用注入器.
你真正想要的是Assisted Inject.通过Assisted Inject,你可以为你的类声明一个这样的构造函数:
@Inject public StarryEyes(MyValidator validator,@Assisted String name)
这意味着验证器是Guice应该注入的参数,而name必须“辅助”(即在创建实例时提供).
然后,您将创建一个如下所示的界面:
public interface StarryEyesFactory {
StarryEyes create(String name);
}
通过Assisted Inject,Guice可以为您实施该工厂.你这样绑定:
bind(StarryEyesFactory.class).toProvider(
FactoryProvider.newFactory(StarryEyesFactory.class,StarryEyes.class));
然后,您可以在任何要创建其实例的地方注入StarryEyesFactory.您以前会打电话给新的StarryEyes(名称),现在可以调用starryEyesFactory.create(name).当在工厂中调用create(name)时,它将使用名称并将其传递给构造函数,并提供绑定的验证器本身.
install(new FactoryModuleBuilder().build(StarryEyesFactory.class));
java guice_java – Guice Inject类中的字段不是由Guice创建的相关推荐
- java遍历类中所有字段
代码: //遍历类中所有字段信息 https://blog.csdn.net/weixin_34346099/article/details/94036015public static void re ...
- 利用反射技术修改类中的字段(成员变量的反射)
题目:利用反射技术修改类中的字段及成员变量的反射 作者:Vashon 一.首先定义一个类如下: class ReflectPoint {private int x; //私有的public int y ...
- Java 11:String类中的新方法
Java 11:String类中的新方法 Java 11没有很多特定于语言的功能.因此,令人惊讶的是,在Java String Class中引入了6种新方法. Java 11 String类新方法 让 ...
- Java反射之Filed(类中的属性对象)
通过反射机制获取类中的属性对象. 1.获取类中所有的public属性(包括父类):getFields(): public class TestFiled {class A{public int age ...
- java有且仅有一个main_组成java Application的若干类中,有且仅有一个主类,只有主类中含有主方法main();...
[单选题]Java 应用程序入口的 main 方法,其声明格式可以是(A) [填空题]点的水平投影与正面投影的连线( ) 于 OX 轴. [单选题]-Is there anything wrong w ...
- java一个项目只有一个主类吗_组成Java Application的若干类中,有且仅有一个主类,只有主类中含有主方main()。...
组成Java Application的若干类中,有且仅有一个主类,只有主类中含有主方main(). A:对 B:错 正确答案:对 解析: 组成Java Application的若干类中,有且仅有一个主 ...
- 一个java程序中什么是主类_下列哪个是Java应用程序主类中正确的main方法?_学小易找答案...
[判断题]用佛尔哈德法测定Ag + 时,不用先除去氮的低价氧化物.汞盐等杂质. [单选题]下列哪个是Java应用程序主类中正确的main方法? [判断题]javac.exe 命令文件存放在 JDK 安 ...
- 创建一个矩形类的子类——正方形类,类中定义求面积方法、重写求周长的方法.在主类中,输入一个正方形边长,创建正方形对象,求正方形的面积和周长
题目: 编写一个应用程序,创建一个矩形类,类中具有长.宽两个成员变量和求周长的方法.再创建一个矩形类的子类--正方形类,类中定义求面积方法.重写求周长的方法.在主类中,输入一个正方形边长,创建正方形对 ...
- java技术培训之File类中常用的构造方法
File类用于封装一个路径,这个路径可以是从系统盘符开始的绝对路径,如:"D:\file\a.txt",也可以是相对于当前目录而言的相对路径,如:"src\Hello.j ...
- java 静态方法重写_Java 类中可以覆盖静态方法吗?
Java技术栈 www.javastack.cn 打开网站看更多优质文章 Java 类中可以覆盖静态方法吗? 不,你不能在Java中覆盖静态方法,但在子类中声明一个完全相同的方法不是编译时错误,这称为 ...
最新文章
- java斐波那切数列_Java中的递归方法
- 「Azure」数据分析师有理由爱Azure之二-立即申请帐号开始学习之旅
- 数据归一化处理方法_数据预处理:归一化和标准化
- java nextgaussian(),java.util.Random.nextGaussian()
- 独家 | 2019届互联网校招本科薪酬清单|湾区人工智能
- 路由器距离向量算法计算举例_文本去重算法:Minhash/Simhash/Klongsent
- MFC中窗口类、句柄的获取
- 原生Ajax实现formdata
- pip install numpy 安装numpy失败
- Unity UGUI坐标转换
- 身份证有效验证方法,
- 键盘的工作原理和分类
- 永恒之蓝复现(win7/2008)
- unicode编码转gb2312编码并显示中文(cjava)
- 体育测试成绩用什么软件制表,如何用电子表格进行体育成绩的统计.docx
- 输入一个整数,判断它能否被3、5、7整除,并输出以下信息之一:
- weixingzh.com微信公众号网站介绍
- 悟透delphi 第二章 DELPHI与WIN32时空
- 嵌入式Linux mplayer 单声道音频 改双声道 播放 方法
- 计算机工程被退稿,一稿多投被拒稿,确实是你的错
热门文章
- UU跑腿前端中台方案
- SpringOne 2017重要公告
- Win10家庭版安装VMware虚拟机-开启时出现蓝屏的问题
- 太神了-图片可以转换成Word文档了
- R. Shankar《Principles of Quantum Mechanics (2nd)》(山卡《量子力学原理(第二版)》)双语目录
- 识别车牌是什么神经网络,bp神经网络车牌识别
- Eclipse使用Ant编译时报错Perhaps JAVA_HOME does not point to the JDK
- Oracle的卸载步骤(详细图示)
- 电力系统自动化远程监控方案
- 电子工程师元器件应用必备宝典