每天进步一点点
因为日期 空值 在oracle和sqlserver上的处理方式不一样,所以要解决跨库的问题,一同事想用一个实体类通过注入的方式,在需要调用时根据注入的数据判断到底是oracle还是sqlserver,
实体类:
public class UtilBean {
private static int beanId;
public static void setBeanId(int beanId) {
UtilBean.beanId = beanId;
}
}
然后:
<bean id="beanUtil" class="UtilBean">
<property name="beanId" value="23"></property>
</bean>
结果:
org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'beanUtil' defined in ServletContext resource [/WEB-INF/spring/applicationContext-actions.xml]:
Initialization of bean failed; nested exception is org.springframework.beans.InvalidPropertyException: Invalid property 'beanId' of bean class [UtilBean]: No property 'beanId' found
当时无语了,杂会找不到这个'beanId' 属性呢
最好细看,原来是static,
set方法必须是非static
然后改成private
结果一样,还是找不到属性
而且必须是public,
总结:对于hibernate的set方法:必须是非static ,private的,可能是反射的原因吧