web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>
org.apache.struts.action.ActionServlet
</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>3</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>3</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>struts-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd"><struts-config>
<!-- ================ Form Bean Definitions ================-->
<form-beans>
<!-- 添加计算机设备页面 -->
<form-bean name="comForm"
type="org.apache.struts.action.DynaActionForm">
<!-- 计算机id -->
<form-property name="id" type="java.lang.Integer"
initial="1" />
<!-- 计算机编号 -->
<form-property name="no" type="java.lang.String"
initial="" />
<!-- 类型 -->
<form-property name="type" type="java.lang.String"
initial="" />
<!-- 品牌 -->
<form-property name="brand" type="java.lang.String"
initial="" />
<!-- 型号 -->
<form-property name="model" type="java.lang.String"
initial="" />
<!-- 保修期 -->
<form-property name="date" type="java.lang.String"
initial="" />
<!-- 价格 -->
<form-property name="price" type="java.lang.String"
initial="" />
<!-- cpu -->
<form-property name="cpu" type="java.lang.String"
initial="" />
<!-- 内存 -->
<form-property name="memory" type="java.lang.String"
initial="" />
<!-- 备注 -->
            <form-property name="re" type="java.lang.String"
initial="" />
</form-bean>
</form-beans> <!-- ================ Action Mapping Definitions ================ --> <action-mappings>

<action path="/addCom" attribute="comForm"
type="org.springframework.web.struts.DelegatingActionProxy"
name="comForm" scope="request" parameter="method"
validate="false">
<forward name="init" path="/comView.jsp" />
</action> </action-mappings> <!-- ================= Plug Ins Configuration ================--> <plug-in
className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation"
value="/WEB-INF/applicationContext.xml" />
</plug-in></struts-config>applicationContext.xml
<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!-- 数据源 -->
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName">
<value>oracle.jdbc.driver.OracleDriver</value>
</property>
<property name="url">
<value>jdbc:oracle:thin:@my-dbserver:1521:mydb</value>
</property>
<property name="username">
<value>train</value>
</property>
<property name="password">
<value>train</value>
</property>
<property name="initialSize">
<value>5</value>
</property>
<property name="maxActive">
<value>20</value>
</property>
<property name="maxIdle">
<value>20</value>
</property>
<property name="minIdle">
<value>5</value>
</property>
</bean> <bean id="jdbcTemplate"
class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource">
<ref bean="dataSource" />
</property>
</bean>
<!-- 原型 -->
<bean id="comBean" class="my.springtrain2.model.ComBean" >
<property name="id"><null/></property>
<property name="no"><null/></property>
<property name="type"><null/></property>
<property name="brand"><null/></property>
<property name="model"><null/></property>
<property name="date"><null/></property>
<property name="price"><null/></property>
<property name="cpu"><null/></property>
<property name="memory"><null/></property>
<property name="re"><null/></property>
<property name="newTime"><null/></property>
</bean> <!--      DAO     -->
<bean id="ComDaoImpl" class="my.springtrain2.dao.impl.ComDaoImpl">
<property name="jdbcTemplate">
<ref bean="jdbcTemplate" />
</property>
</bean> <!-- service -->
<bean id="ComServiceImpl" class="my.springtrain2.service.impl.ComServiceImpl" >
<property name="daoImpl">
<ref bean="daoImpl"/>
</property>
</bean> <!-- action -->
<bean name="/addCom" class="my.springtrain2.web.BaseDispatchDocumentAction">
<property name="ComServiceImpl">
<ref bean="ComServiceImpl" />
</property>
<property name="comBean">
<ref bean="comBean"/>
</property>
</bean> <!-- 通知 -->
    <bean id="daoImpl" class="org.springframework.aop.framework.ProxyFactoryBean">
        <property name="proxyInterfaces">
            <value>my.springtrain2.dao.ComDao</value>
        </property>
        <property name="target">
<ref local="ComDaoImpl"/>
</property>
<property name="interceptorNames">
<list>
<value>logsth</value>
</list>
</property>
</bean> <bean id="logAdvisor" class="my.springtrain2.advice.LogPrinter">
</bean> <bean id="logsth"
class="org.springframework.aop.support.NameMatchMethodPointcutAdvisor">
<property name="mappedName">
<value>addComInfo</value>
</property>
<property name="advice">
<ref bean="logAdvisor"/>
</property>
</bean>
</beans>启动tomcat总是报错如下:
2008-06-30 13:33:40,206 ERROR [org.springframework.web.struts.ContextLoaderPlugIn] - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ComServiceImpl' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Initialization of bean failed; nested exception is org.springframework.beans.InvalidPropertyException: Invalid property 'daoImpl' of bean class [my.springtrain2.service.impl.ComServiceImpl]: No property 'daoImpl' found
总是有错,找的头太大也没找出所以然,请各位帮忙,谢谢!

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【njyky】截止到2008-06-30 13:49:44的历史汇总数据(不包括此帖):
    发帖数:0                  发帖分:0                  
    结贴数:0                  结贴分:0                  
    未结数:0                  未结分:0                  
    结贴率:-------------------结分率:-------------------
    如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
      

  2.   


    type="org.springframework.web.struts.DelegatingActionProxy" 把它去掉试试
      

  3.   

    <controller>
    <set-property property="processorClass"
    value="org.springframework.web.struts.DelegatingRequestProcessor" />
    </controller>
    <message-resources parameter="org.cl.struts.ApplicationResources" />
    <plug-in
    className="org.springframework.web.struts.ContextLoaderPlugIn">
    <set-property property="contextConfigLocation"
    value="/WEB-INF/applicationContext.xml" />
    </plug-in>
      

  4.   

    bean class [my.springtrain2.service.impl.ComServiceImpl]: No property 'daoImpl' found 根据报错信息,应该是你配置文件里面的属性名daoImpl跟my.springtrain2.service.impl.ComServiceImpl类中的属性没有对上
      

  5.   

    <!-- service --> 
    <bean id="ComServiceImpl" class="my.springtrain2.service.impl.ComServiceImpl" > 
    <property name="daoImpl"> 
    <ref bean="daoImpl"/> 
    </property> 
    </bean> 也就是你这一段,建议你以后写配置文件的时候,写一段测一段。如果写的多了再测,很难找的
      

  6.   

    确定service 实现类中有daoImpl这个属性并且提供了 set方法
      

  7.   


    你看看my.springtrain2.service.impl.ComServiceImpl 这个类里面有没有‘daoImpl’这个变量,并set.注意大小写
      

  8.   

    呵呵,的确daoImpl属性没对应起来
    2偻说错拉,没分哦
    5偻40分,7,8都30分,谢谢大家