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

spring_2

spring 4 quartz 2.x动态配置triggers

Spring Boot中的日志配置

05_springboot多配置文件

Spring YAML 配置文件配置