Spring连接数据库出现以下错误:
java.lang.ClassCastException: org.springframework.jdbc.datasource.DriverManagerDataSource cannot be cast to com.lzw.dao.DaoSupport
at com.lzw.dao.AdapterDao.getdao(AdapterDao.java:26)
at com.lzw.LoginDialog$4.initAndRecLog(LoginDialog.java:247)
at com.lzw.LoginDialog$4.run(LoginDialog.java:222)
java.lang.NullPointerException
at com.lzw.LoginDialog$4.run(LoginDialog.java:236)
其中设置如下:
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" destroy-method="close" lazy-init="default" autowire="default" dependency-check="default">
- <property name="driverClassName">
  <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value> 
  </property>
- <property name="url">
  <value>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=DB_JXC</value> 
  </property>
- <property name="username">
  <value>sa</value> 
  </property>
- <property name="password">
  <value /> 
  </property>
  </bean>请高手帮忙!!!!!!!

解决方案 »

  1.   

    org.springframework.jdbc.datasource.DriverManagerDataSource cannot be cast to com.lzw.dao.DaoSupport存在类型的转换异常。
    配置文件贴全点 
      

  2.   

     org.springframework.jdbc.datasource.DriverManagerDataSource强制转换成com.lzw.dao.DaoSupport?
    在com.lzw.dao.DaoSupport中应该只能用它不能强制转换它吧?
      

  3.   

    appcontext.xml如下:
    <bean id="dataSource"
        class="org.springframework.jdbc.datasource.DriverManagerDataSource"
        destroy-method="close">
        <property name="driverClassName">
          <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
        </property>
        <property name="url">
          <value>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=DB_JXC</value>
        </property>
        <property name="username">
          <value>sa</value>
        </property>
        <property name="password">
          <value></value>
        </property>
      </bean>
      <bean id="sessionFactory"
            class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        <property name="dataSource">
          <ref local="dataSource"></ref>
        </property>
        <property name="mappingResources">
          <list>
            <value>com/lzw/model/obj_medicine.hbm.xml</value>
            <value>com/lzw/model/Obj_gys.hbm.xml</value>
            <value>com/lzw/model/Obj_client.hbm.xml</value>
            <value>com/lzw/model/Obj_SellMain.hbm.xml</value>
            <value>com/lzw/model/Obj_SellDetaile.hbm.xml</value>
            <value>com/lzw/model/Obj_BuyMain.hbm.xml</value>
            <value>com/lzw/model/Obj_BuyDetaile.hbm.xml</value>
            <value>com/lzw/model/Obj_Stock.hbm.xml</value>
            <value>com/lzw/model/Obj_SellDetaileTh.hbm.xml</value>
            <value>com/lzw/model/Obj_UserName.hbm.xml</value>
          </list>
        </property>
        <property name="hibernateProperties">
          <props>
            <prop key="hibernate.show_sql">true</prop>
          </props>
        </property>
      </bean>
      <bean id="transactionManager"
            class="org.springframework.orm.hibernate3.HibernateTransactionManager">
         <property name="sessionFactory">
           <ref local="sessionFactory"/>
         </property>
      </bean>
      <bean id="DAO" class="com.lzw.dao.DaoSupport">
        <property name="sessionFactory">
          <ref local="sessionFactory"></ref>
        </property>
      </bean>  <bean id="DAOProxy"
            class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
        <property name="transactionManager">
          <ref bean="transactionManager"/>
        </property>
        <property name="target">
          <ref local="DAO"/>
        </property>
        <property name="proxyTargetClass" value="true"/>
        <property name="transactionAttributes">
          <props>
            <prop key="insert*">PROPAGATION_REQUIRED</prop>
            <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
          </props>
        </property>
      </bean></beans>
    访问类AdapterDao:
    import com.lzw.view.JF_view_error;import javax.swing.JOptionPane;
    public class AdapterDao {
        private Resource resource = null;
        private XmlBeanFactory factory = null;
        //private DriverManagerDataSource ds = null;
        private static DaoSupport dao = null;    public AdapterDao(){
           // getdao();
        }
        public boolean getdao(){
            try{
                this.resource = new ClassPathResource("appcontext.xml",getClass());
                this.factory = new XmlBeanFactory(resource);
                this.dao = (DaoSupport) factory.getBean("DAO");
                这一句的问题!
                return true;
            }catch(Exception e){
                e.printStackTrace();
                JF_view_error error = new JF_view_error(e.getMessage());
                error.setTitle("初始化数据连接失败,错误信息如下:");
                return false;
            }
        }
    .........
    }其中DaoSupport extends HibernateDaoSupport;
    请高手指点!!!!!!!!!!!