spring中的class配置不能使用properties中的字符串
Posted Fight With Me!!!
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring中的class配置不能使用properties中的字符串相关的知识,希望对你有一定的参考价值。
1.比如在a.properties中我们声明了一个变量:
classRoom=com.wc82.ClassRoom
2.然后在spring的配置文件中:applicationContext.xml,有如下的配置:
<bean id="classRoom" class="${classRoom}" />
这样的配置是不可以的,会报错:
Caused by: java.lang.ClassNotFoundException: ${classRoom} at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) at org.springframework.util.ClassUtils.forName(ClassUtils.java:247) at org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:395) at org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1348) at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1319) ... 10 more
但以下的配置是可以的:
<property name="calssoom" value="${classRoom}"></property>
以上是关于spring中的class配置不能使用properties中的字符串的主要内容,如果未能解决你的问题,请参考以下文章
用spring怎样去除程序中的log?用spring的通知能不做到让程序中的log不再打出,没有log4j.properes