aop实现日志报错No setter found for property 'proxyinterface' in class

qad 2009-06-02 02:29:44
<bean id="logAddUser" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyinterfaces">
<ref bean="addUserDAO"/>
</property>


就是这行报错<property name="proxyinterfaces">
No setter found for property 'proxyinterface' in class 'org.springframework.aop.framework.ProxyFactoryBean'

请问哪里需要setter呀?
...全文
388 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
tianya_yanhaoyu 2009-06-09
  • 打赏
  • 举报
回复
<bean id="logAddUser" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyInterfaces">
<ref bean="addUserDAO"/>
</property>
<property name="target">
<ref bean="addUser"/>
</property>
<property name="interceptorNames">
<list>
<value>logBeforeAdvice</value>
</list>
</property>
</bean>

这块删掉,用<bean class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator" />
自动代理
tianya_yanhaoyu 2009-06-09
  • 打赏
  • 举报
回复
你用这个试试<bean class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator" />
qad 2009-06-06
  • 打赏
  • 举报
回复
还是没有解决,求教了
qad 2009-06-02
  • 打赏
  • 举报
回复
public interface MyUserDAO


我改成接口了,ApplicationContext.xml里要怎么改?
qad 2009-06-02
  • 打赏
  • 举报
回复
谢谢楼上几位,我改成接口了
上面代码第一行里,abstract是不是改成interface?
我改了可是不对不对,用接口,上面配置文件第一行要怎么写?
Johnson_Hong 2009-06-02
  • 打赏
  • 举报
回复
<property name="proxyInterfaces">
<list>
<value>接口的名称</value>
</list>
</property>
用接口吧,你的是抽象类
sxtbuaa 2009-06-02
  • 打赏
  • 举报
回复
com.zjm.study.dao.MyUserDAO应该声明成接口吧
qad 2009-06-02
  • 打赏
  • 举报
回复
还是这行报的错误 <property name="proxyinterfaces">
Referenced bean 'addUserDAO' is invalid (abstract or no bean class and no factory bean)
qad 2009-06-02
  • 打赏
  • 举报
回复
我贴一下完整配置

	<bean id="addUserDAO" class="com.zjm.study.dao.MyUserDAO" abstract="true" />
<bean id="addUser" class="com.zjm.study.user.MyUser" parent="addUserDAO">
<property name="hibernateTemplate">
<ref bean="hibernateTemplate" />
</property>
</bean>
<bean name="/manageUser" class="com.zjm.study.struts.action.ManageUserAction">
<property name="userDAO">
<ref bean="addUser" />
</property>
</bean>
<tx:advice id="txAdviceAddUser" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="save*" read-only="false" rollback-for="Exception" />
<tx:method name="*" read-only="true"/>
</tx:attributes>
</tx:advice>
<aop:config>
<aop:advisor pointcut="execution(* com.zjm.study.dao.*.*(..))" advice-ref="txAdviceAddUser" />
</aop:config>
<bean id="logAddUser" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyInterfaces">
<ref bean="addUserDAO"/>
</property>
<property name="target">
<ref bean="addUser"/>
</property>
<property name="interceptorNames">
<list>
<value>logBeforeAdvice</value>
</list>
</property>
</bean>
<bean id="logBeforeAdvice" class="com.zjm.study.log.LogBeforeAdvice"></bean>
<bean id="logAddUserAdvice" class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">
<property name="advice">
<ref bean="logBeforeAdvice"/>
</property>
<property name="pattern">
<value>com\.zjm\.study\.user\.MyUser\.save</value>
</property>
</bean>
qad 2009-06-02
  • 打赏
  • 举报
回复
这个bean有定义啊:

	<bean id="addUserDAO" class="com.zjm.study.dao.MyUserDAO" abstract="true" />
<bean id="addUser" class="com.zjm.study.user.MyUser" parent="addUserDAO">
hengxing853 2009-06-02
  • 打赏
  • 举报
回复
我不知道是不是这个原因
<bean name="/logAddUser" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="addUserDAO">
<ref bean="addUserDAO"/>
</property>
林志Ke 2009-06-02
  • 打赏
  • 举报
回复
addUserDAO 这个bean在xml里面有定义
sxtbuaa 2009-06-02
  • 打赏
  • 举报
回复
错误信息不一样了。没有配置id=addUserDAO的bean吧
qad 2009-06-02
  • 打赏
  • 举报
回复
不对,还是这行报的错误<property name="proxyinterfaces">
Referenced bean 'addUserDAO' is invalid (abstract or no bean class and no factory bean)
请问怎么回事
qad 2009-06-02
  • 打赏
  • 举报
回复
现在上面那行又报错
Referenced bean 'addUserDAO' is invalid (abstract or no bean class and no factory bean)
请问怎么回事
Johnson_Hong 2009-06-02
  • 打赏
  • 举报
回复
proxyInterfaces 大小写不对

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧