• 关于spring的applicationContext.xml配置文件的ref和value之自我想法


        今天在做SSH的一个项目的时候,因为需要定时操作,所以就再sping里面加入了一个quartz的小定时框架,结果在运行时候,发生了一个小bug.

    Caused by: org.springframework.beans.ConversionNotSupportedException: Failed to convert property value of type 'java.lang.String' to required type 'org.quartz.spi.JobFactory' for property 'jobFactory'; nested exception is java.lang.IllegalStateException: Cannot convert value of type [java.lang.String] to required type [org.quartz.spi.JobFactory] for property 'jobFactory': no matching editors or conversion strategy found
    Caused by: java.lang.IllegalStateException: Cannot convert value of type [java.lang.String] to required type [org.quartz.spi.JobFactory] for property 'jobFactory': no matching editors or conversion strategy found

    这是一个非常小的bug,没想到我刚开始却没注意到哪错了.

    错误代码:

    <property name="jobFactory" value="jobFactory"/>

    正确代码:

    <property name="jobFactory" ref="jobFactory"/>
    看出来了么?将string类型转换成所需要的class类型的转换错误

    是value和ref写错了.

    理论上,ref是用在,当前xml中先前已经配置了<bean>标签的,由于我的ssh框架使用的是注解开发,所以直接使用注解@Service("jobFactory")里面的jobFactory即可.

    在spring配置文件里面,value配置的参数,一般是用在数字,字符串之类的,而不能放对象.而ref是存的是对象的引用!

    特以此几年今天所犯的错误.与君共勉.

  • 相关阅读:
    oracle递归层级查询 start with connect by prior
    C 常量指针和指针常量
    C 字符串常量和字符串变量定义和区别
    C 指针改变变量值
    UITableViewCell的高度与UILabel自适应
    手动开启ARC
    SWIFT模糊效果
    SWIFT中使用AFNetwroking访问网络数据
    MAC机中安装RUBY环境
    CocoaPods安装和使用教程
  • 原文地址:https://www.cnblogs.com/wangxinblog/p/7309035.html
Copyright © 2020-2023  润新知