在Spring中传递整数时出现错误。

<bean id="propConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="location" value="/WEB-INF/application.properties"/>
 </bean>

<bean id="portListenerService" class="com.service.portListenerService" scope="prototype" lazy-init="true" parent="abstractService">
    <property name="devicePort" value="${devicePort}"/>
</bean>


portListenerService.java:

@Required
public final void setDevicePort(Integer devicePort) {
    this.devicePort= devicePort;
}


这是正确的方法吗?因为出现错误:


  org.springframework.beans.factory.BeanCreationException:创建在ServletContext资源[/WEB-INF/service-config.xml]中定义的名称为'portListenerService'的bean时出错:初始化bean失败;嵌套的异常是org.springframework.beans.TypeMismatchException:无法将类型[java.lang.String]的属性值转换为属性'devicePort'的必需类型[int];嵌套异常为java.lang.IllegalArgumentException:原始不得为null


即使当我对端口进行硬编码而不是从application.properties中提取端口时,我也会遇到相同的错误。还有其他问题吗?

最佳答案

devicePort相关代码是否可能违反javabean规范-如此discussion中那样?

07-24 19:47