我的代码如下
<?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"
destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://localhost/air"></property>
<property name="username" value="root"></property>
<property name="password" value="19881023"></property>
<property name="maxActive" value="100"></property>
<property name="maxIdle" value="30"></property>
<property name="maxWait" value="500"></property>
<property name="defaultAutoCommit" value="true"></property>
</bean> <bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect
</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>com/air/bean/Userinfo.hbm.xml</value>
<value>com/air/bean/Flight.hbm.xml</value>
<value>com/air/bean/Managerinfo.hbm.xml</value>
</list>
</property>
</bean> <bean id="userinfoDao" class="com.air.dao.UserinfoDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean> <bean id="userService" class="com.air.service.UserService"
scope="prototype">
<property name="userinfoDao">
<ref bean="userinfoDao" />
</property>
</bean>
<bean id="RegisterAction" class="com.air.action.RegisterAction">
<property name="userService" ref="userService"></property>
</bean>

<bean id="LoginAction" class="com.air.action.LoginAction">
<property name="userService" ref="userService"></property>
</bean>

<bean id="flightDao" class="com.air.dao.FlightDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>

<bean id="flightService" class="com.air.service.FlightService" scope="prototype">
<property name="flightDao" ref="flightDao"/>
</bean>

<bean id="SearchAction" class="com.air.action.SearchAction">
<property name="flightService" ref="flightService"></property>
</bean>
<bean id="ManagerinfoDAO" class="com.air.dao.ManagerinfoDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>

<bean id="ManagerService" class="com.air.service.ManagerService" scope="prototype">
<property name="ManagerinfoDAO" ref="ManagerinfoDAO"/>
</bean>

<bean id="ManagerLoginAction" class="com.air.action.ManagerLoginAction">
<property name="ManagerService" ref ="ManagerService"></property>
</bean>

//关键就是错在 managerservice 和managerloginaction两端 编译器说invalid property name‘ManagerinfoDAO’‘ManagerService’not javabean compliant
</beans>

解决方案 »

  1.   

    在com.air.action.ManagerLoginAction里面有ManagerService属性吗?
      

  2.   

    在com.air.action.ManagerLoginAction里面有ManagerService属性,并且有相应的符合javabean命名规范的get、set方法吗
      

  3.   

    spring  注入用set或是构造,,,你看看你程序.
      

  4.   

    你没有在dao配置文件中定义配置 ManagerinfoDAO 的注入的实现类,所以才报错,定义的ManagerService找不到的<property name="ManagerinfoDAO" ref="ManagerinfoDAO"/> 对应的“ref="ManagerinfoDAO"”
      

  5.   

    ManagerinfoDAO 改为 managerinfoDAO 
    再进行get set 看看
      

  6.   

    应该是属性命名错误,属性改成managerinfoDAO,再设置相应的get,set
      

  7.   

    ManagerService 在action中你也叫这个名字吗?set方法有吗?