Spring配置Bean如下:
<bean id="Privilege" parent="txProxyTemplate">
<property name="target">
<bean class="com.langtoo.privilege.PrivilegeImpl">
<property name="userDao" ref="SysUserDao" />
</bean>
</property>
</bean>
txProxyTemplate 作用是继承 其他spring.xml中声明式事务的,这里关键注意的是 id ="Privilege" 和class = "com.langtoo.privilege.PrivilegeImpl"
下面采用 autowire=byName 方式来介绍经验,如果PrivilegeImpl.java 是 接口的实现类,那么就不会出错。
如果PrivilegeImpl.java 是 抽象类的实现类,编译时报异常:
Error creating bean with name 'Privilege' defined in class path resource [spring/spring-services-privilege.xml]: Invocation of init method Failed; nested exception is org.springframework.aop.framework.AopConfigException: Cannot proxy target class because CGLIB2 is not available. Add CGLIB to the class path or specify proxy interfaces.
那么解决办法是:在ClassPath下添加cglib-2.1_3.jar包,我添加的是2.1_3的版本。
之后如果编译时继续报异常:
org.springframework.beans.factory.BeanCreationException:Error creating bean with name 'Privilege' defined in class path resource [spring/spring-services-privilege.xml]: Invocation of init method Failed; nested exception is java.lang.NoClassDefFoundError: org/objectweb/asm/Type
原文链接:https://www.f2er.com/javaschema/287475.html