项目里用了开源验证码框架
JCaptcha,它通过配置文件指定图片颜色,配置如下
<bean id="softBlue" class="java.awt.Color" >
<constructor-arg index="0"><value>0</value></constructor-arg>
<constructor-arg index="1"><value>255</value></constructor-arg>
<constructor-arg index="2"><value>0</value></constructor-arg>
</bean>
问题1
在jdk 1.5.08下没有问题,但是当升级到jdk 1.6.10时,初始化失败,报错显示为
java.lang.IllegalArgumentException: Color parameter outside of expected range: Red Green Blue
at java.awt.Color.testColorValueRange(Color.java:298)
at java.awt.Color.<init>(Color.java:382)
at java.awt.Color.<init>(Color.java:357)
java.awt.Color的constructor有两个
public Color(int r, int g, int b) //int
public Color(float r, float g, float b) //float
debug Color显示为,spring调用了//float 标识的构造方法,而不是期望的 //int
所以给参数加上类型参数 "type="java.lang.Integer",该解决了吧
<bean id="softBlue" class="java.awt.Color" >
<constructor-arg type="java.lang.Integer" index="0" ><value>0</value></constructor-arg>。。。
出现新错误
问题2
...
.xml]: 3 constructor arguments specified but no matching constructor found in bean 'softBlue' (hint: specify index and/or type arguments for simple parameters to avoid type ambiguities)
大意是,请指定参数类型,避免类型混淆
////////////////////// 解决过程
问题1:google之,找到
一个先行者囧 ;里面说到jdk5和jdk6(win下)Color类文件里的两个构造方法(上面列举的//float,//int)位置不同,导致spring选择了//float代替了期望中的//int方法
那,问题2是怎么回事呢?指定类型为什么spring没认出来呢?
问题2:debug spring加载过程,到这一句,真相大白
if (valueHolder.getType().equals(requiredType.getName())) {
valueHolder.getType()-->“java.lang.Integer”
requiredType.getName()-->"int"
不相同,导致spring autowire 失败。。。
由于我们用的还是spring1.2,所以怀疑spring2.0是否已经修复了
==========补充
spring2.0下也存在,看来指定primary类型需谨慎
分享到:
相关推荐
2. **Java AWT(Abstract Window Toolkit)**: `java.awt.*` 导入的是Java的抽象窗口工具包,它是Java GUI的基础,提供了创建基本组件(如按钮、文本框)和布局管理器的能力。AWT组件是重量级的,它们依赖于操作系统...
Java的Abstract Window Toolkit(AWT)包是Java标准版(Java SE)的一部分,它提供了一组基本的组件和接口,用于创建图形用户界面(GUI)。在Java编程中,如果你需要开发带有窗口、按钮、文本框等元素的应用程序,AWT就是...
### Java的.awt包和.java.util包的区别 #### Java.util包详解 Java.util包是一个非常重要的标准库之一,其中包含了大量有用的类和接口,为开发者提供了丰富的功能。此包中的类和接口可以分为以下几大类别: 1. **...
整合了java.awt.*;java.awt.event.*;javax.swing.*包中的类,结合布局与事件处理....这是本人自己写的哦
在这个项目中,开发者采用Java编程语言,结合java.awt和java.swing库,构建了一个可运行的2048游戏程序。下面我们将深入探讨这个项目的实现细节。 首先,java.awt和java.swing是Java GUI(图形用户界面)设计的主要...
在我们的代码中,我们可以看到 import 语句中包含了 java.awt 和 javax.swing.*,这说明了我们使用的是 Java 的 AWT 和 Swing 工具包。 2. JFrame 和 JDialog 的使用 在我们的代码中,我们可以看到 MainWindow 类...
java.awt.color java.awt.datatransfer java.awt.dnd java.awt.event java.awt.font java.awt.geom java.awt.im java.awt.im.spi java.awt.image java.awt.image.renderable java.awt.print java.beans ...
Java AWT(Abstract Window Toolkit)是Java平台的核心部分,它提供了创建和管理窗口以及与用户交互的基本组件。这个“JAVA_CH.rar”压缩包包含了关于Java AWT和`java.awt.geom`包的CHM(Compiled HTML Help)格式的...
awt包java Android awt包java Android awt包java Android awt包java Android awt包java Android awt包java Android awt包java Android awt包java Android awt包java Android awt包java Android awt包java Android ...
通过这个项目,Java初学者不仅可以掌握Java.awt的基本用法,还可以深入理解面向对象编程的思想,提升问题解决能力。对于教师来说,这是一个极好的教学案例,可以帮助学生直观地看到理论知识在实际项目中的应用。同时...
import java.awt.Color; import java.awt.Image; import java.awt.Insets; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ComponentAdapter; import java.awt.event....
import java.awt.AlphaComposite; import java.awt.GradientPaint; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt....
简单的记事本的JAVA程序,//导入awt包,event包 import java.awt.*
import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ComponentEvent; import java....
解决java软件中Myeclipse 中的awt乱码问题
import java.awt.Color; import java.awt.Dimension; import java.awt.Point; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.io.BufferedReader; import java.io.BufferedWriter;...
import java.awt.AlphaComposite; import java.awt.Composite; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.GridBagConstraints; import java.awt.Insets; import java.io.IOException;...
《Java开发的连连看游戏详解》 ...这样的项目不仅锻炼了开发者的技术能力,也展示了他们在毕业设计中解决问题和创新思考的能力。对于学习Java编程和游戏开发的初学者来说,这是一个极好的参考和学习案例。