<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="com.mysql.jdbc.Driver">
</property>
<property name="url"
value="jdbc:mysql://localhost:3306/MySql">
</property>
<property name="username" value="root"></property>
<property name="password" value="mysql"></property>
</bean> <bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="mappingResources">
<list>
<value>com/shine/model/Columns.hbm.xml</value>
<value>com/shine/model/FileList.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.Oracle9Dialect
</prop>
</props>
</property>
</bean> <bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean> <bean id="transactionInterceptor"
class="org.springframework.transaction.interceptor.TransactionInterceptor">
<property name="transactionManager" ref="transactionManager" />
<!-- 配置事务属性 -->
<property name="transactionAttributes">
<props>
<prop key="*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean> <bean
class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<property name="beanNames">
<list>
<value>*Dao</value>
</list>
</property>
<property name="interceptorNames">
<list>
<value>transactionInterceptor</value>
</list>
</property>
</bean> <bean id="columnReadDao" class="com.shine.dao.impl.ColumnReadDao"
abstract="false" lazy-init="default" autowire="default"
dependency-check="default">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean> <bean id="cileImportDao" class="com.shine.dao.impl.FileImportDao"
abstract="false" lazy-init="default" autowire="default"
dependency-check="default">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean> <bean id="columnReadServer"
class="com.shine.server.impl.ColumnReadServer" abstract="false"
lazy-init="default" autowire="default" dependency-check="default">
<property name="columnReadDao"> <ref bean="columnReadDao" />
</property>
</bean> <bean id="fileImportServer"
class="com.shine.server.impl.FileImportServer" abstract="false"
lazy-init="default" autowire="default" dependency-check="default">
<property name="fileImportDao"> <ref bean="fileImportDao"/>
</property>
</bean></beans>报红色的区域错误,请哪位大虾帮忙看一下

解决方案 »

  1.   

    你的配置文件中没有<ref bean="fileImportDao"/>
    ID是fileImportDao的bean
      

  2.   

    你是把com.shine.server.impl.FileImportServer 注入到<property name="fileImportDao"> <ref bean="fileImportDao"/> 
    根据你提供的 表示 你没有fileImportDao的 Bean
    你还是想想你倒地要怎么实现SSH 谁注入谁
      

  3.   

    那个刚才改错了
    <bean id="fileImportDao" class="com.shine.dao.impl.FileImportDao" 
    abstract="false" lazy-init="default" autowire="default" 
    dependency-check="default"> 
    <property name="sessionFactory"> 
    <ref bean="sessionFactory" /> 
    </property> 
    </bean> 
      

  4.   

    No setter found for property 'columnReadDao' in class com.shine.server.impl.ColumnReadDao
      

  5.   

    setColumnReadDao
    com.shine.server.impl.ColumnReadDao
    LZ查下这个类中有这个方法(public)吗?
      

  6.   

    不是你上没写的那的错误 是'columnReadDao' 注入有问题 你看看了地址 有没有问题 还有这个Dao有没有问题。。
      

  7.   

    严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'columnReadServer' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'columnReadDao' of bean class [com.shine.server.impl.ColumnReadServer]: Bean property 'columnReadDao' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
    Caused by: org.springframework.beans.NotWritablePropertyException: Invalid property 'columnReadDao' of bean class [com.shine.server.impl.ColumnReadServer]: Bean property 'columnReadDao' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
    at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:793)
    at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:645)
    at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:78)
    at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:59)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1122)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:857)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:291)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
    at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:245)
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:188)
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3827)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4334)
    at org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1105)
    at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1203)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:293)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
    at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1337)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1601)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1590)
    at java.lang.Thread.run(Unknown Source)
      

  8.   

    package com.shine.server.impl;import com.shine.dao.IColumnReadDao;
    import com.shine.model.Columns;
    import com.shine.server.IColumnReadServer;public class ColumnReadServer implements IColumnReadServer { public IColumnReadDao dao;

    public void setDao(IColumnReadDao dao) {
    this.dao = dao;
    } public void readColumns(Columns columns) {
    dao.addColumn(columns); }}
      

  9.   

    错误应该是ColumnReadServer类没有columnReadDao属性或者没有columnReadDao属性没有set、set方法
      

  10.   

    package com.shine.server.impl; import com.shine.dao.IColumnReadDao; 
    import com.shine.model.Columns; 
    import com.shine.server.IColumnReadServer; public class ColumnReadServer implements IColumnReadServer { public IColumnReadDao dao; public void setDao(IColumnReadDao dao) { 
    this.dao = dao; 
    } public void readColumns(Columns columns) { 
    dao.addColumn(columns); } } 
    这个就是我的ColumnReadServer类,我注入了呀
      

  11.   

    你的ColumnReadServer类根本就没有columnReadDao这个属性,当然没法注入
      

  12.   

    我知道了:
    package com.shine.server.impl; import com.shine.dao.IColumnReadDao; 
    import com.shine.model.Columns; 
    import com.shine.server.IColumnReadServer; public class ColumnReadServer implements IColumnReadServer { public IColumnReadDao dao; public void setColumnReadDao(IColumnReadDao dao) { 
    this.dao = dao; 
    } public void readColumns(Columns columns) { 
    dao.addColumn(columns); } } 
      

  13.   

    不过还是建议把属性dao换成columnReadDao