org.springframework.beans.factory.BeanCreationException: Error creating bean wit

用代理指定接口,用Advice实现在目标方法执行之前执行一些操作:
错误信息:
Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'helloProxy' defined in class path resource [applicationContext.xml]: Initialization of bean failed; nested exception is org.springframework.beans.TypeMismatchException: Failed to convert property value of type 'java.lang.String' to required type 'java.lang.Class[]' for property 'proxyInterfaces'; nested exception is java.lang.IllegalArgumentException: Cannot find class [IHello]

错误原因:
<value>IHello</value><!-- 错误:改成:dao.IHello -->

原代码:
<?xml version="1.0" encoding="UTF-8"?>
<beans
	xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:p="http://www.springframework.org/schema/p"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<!-- 建立目标对象实例 -->
<bean id="hello" class="dao.impl.Hello"></bean>
<!-- 建立 advice实例 -->
<bean id="sba" class="advice.SayBeforeAdvice"></bean>
<!-- 建立代理对象 -->
<bean id="helloProxy" class="org.springframework.aop.framework.ProxyFactoryBean">
	<!-- 设置代理的接口 -->
	<property name="proxyInterfaces">
		<value>IHello</value><!-- 错误:改成:dao.IHello -->
	</property>
	<!-- 设定目标对象实例 -->
	<property name="target">
		<ref bean="hello"/>
	</property>
	<!-- 设定advice实例 -->
	<property name="interceptorNames">
		<list>
			<value>sba</value>
		</list>
	</property>
</bean>

</beans>


你可能感兴趣的:(spring)