读书人

BeanIsAbstractException异常解决

发布时间: 2012-10-28 09:54:44 作者: rapoo

BeanIsAbstractException错误解决

???? 今天开始学习joindesk,按照手册中的Joindesk Setup运行,启动服务器,就出现BeanIsAbstractException异常,异常代码如下:

?

org.springframework.beans.factory.BeanIsAbstractException: Error creating bean with name 'baseTxService': Bean definition is abstractat org.springframework.beans.factory.support.AbstractBeanFactory.checkMergedBeanDefinition(AbstractBeanFactory.java:1035)at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:244)at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)at org.springframework.beans.factory.support.AbstractBeanFactory.isSingleton(AbstractBeanFactory.java:358)at org.springframework.context.support.AbstractApplicationContext.isSingleton(AbstractApplicationContext.java:745)at net.joindesk.app.SpringWebApp.init(SpringWebApp.java:83)at net.joindesk.app.WebAppLoader.contextInitialized(WebAppLoader.java:71)at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)at org.apache.catalina.core.StandardContext.start(StandardContext.java:4342)at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)at org.apache.catalina.core.StandardService.start(StandardService.java:516)at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)at org.apache.catalina.startup.Catalina.start(Catalina.java:578)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)at java.lang.reflect.Method.invoke(Method.java:597)at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)

????? 搞了半天,还是通过debug,查看源代码后才知道错误原因,后来在baseTxService后面加上scope="prototype"才把问题解决。

????? 现在把正确代码写下,以供大家参考,希望能够帮助大家。

?

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd"><beans>    <!-- 属性文件读入 -->    <bean id="propertyConfigurer"        value="${jdbc.driverClassName}"/>        <property name="url" value="${jdbc.url}"/>        <property name="username" value="${jdbc.user}"/>        <property name="password" value="${jdbc.password}"/>    </bean>    <bean id="sessionFactory"        ref="dataSource" />        <property name="mappingDirectoryLocations">            <list>                <value>classpath:/com/javaeye/sunjiesh/studentwebdemo/spring/hbm/</value>            </list>        </property>        <property name="hibernateProperties">            <props>                <prop key="hibernate.dialect">                    org.hibernate.dialect.MySQLDialect                </prop>                <prop key="hibernate.connection.release_mode">                    auto                </prop>                <prop key="hibernate.show_sql">true</prop>                <prop key="connection.useUnicode">true</prop>                <prop key="connection.characterEncoding">gbk</prop>            </props>        </property>    </bean>    <bean id="transactionManager"        ref="sessionFactory" />    </bean>    <!--scope需要注明,否则会报错  -->    <bean id="baseTxService"        scope="prototype"        abstract="true" >        <property name="transactionManager" ref="transactionManager" />        <property name="proxyTargetClass" value="true" />        <property name="transactionAttributes">            <props>                <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>                <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>                <prop key="load*">PROPAGATION_REQUIRED,readOnly</prop>                <prop key="save*">PROPAGATION_REQUIRED</prop>                <prop key="update*">PROPAGATION_REQUIRED</prop>                <prop key="remove*">PROPAGATION_REQUIRED</prop>            </props>        </property>    </bean></beans>

?

读书人网 >软件架构设计

热点推荐