老是提示找不到 eBclass1EntityDao,我在Bclass1Service.java里添加了get和set都还是报错!请问是否漏了要注意的地方!搞了几天了!请高手帮下忙!
错误提示:
Error creating bean with name 'eBclass1EntityService' defined in ServletContext resource [/WEB-INF/applicationContext-service.xml]: Initialization of bean failed; nested exception is org.springframework.beans.InvalidPropertyException: Invalid property 'eBclass1EntityDao' of bean class [com.kingstarit.M811project.service.basemgr.Bclass1Service]: No property 'eBclass1EntityDao' found
。。
Caused by: org.springframework.beans.InvalidPropertyException: Invalid property 'eBclass1EntityDao' of bean class [com.kingstarit.M811project.service.basemgr.Bclass1Service]: No property 'eBclass1EntityDao' foundBclass1Service代码:
public class Bclass1Service implements IBclass1Service, LocalBclass1Service {
private LocalBclass1Dao eBclass1EntityDao;
public Bclass1 getById(Long id) {
Bclass1 obj = eBclass1EntityDao.load(id);
return obj;
}
public PageData listResult(Map<String, Object> map, int targetPage, int pageSize) {
return eBclass1EntityDao.getListByParam(map, targetPage, pageSize);
}
public Bclass1 saveOrUpdate(Bclass1 entity) {
if ((entity.getId() == null) || (entity.getId().intValue() == 0)) {
eBclass1EntityDao.save(entity);
} else {
eBclass1EntityDao.update(entity);
}
return entity;
}
public boolean delete(Bclass1 entity) {
eBclass1EntityDao.delete(entity);
return true;
}
public boolean deleteEntitys(String ids) {
return true;
} public LocalBclass1Dao getBclass1EntityDao() {
return eBclass1EntityDao;
} public void setBclass1EntityDao(LocalBclass1Dao bclass1EntityDao) {
this.eBclass1EntityDao = bclass1EntityDao;
}
}applicationContext-service.xml代码:
<?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="eBclass1EntityService" class="com.kingstarit.M811project.service.basemgr.Bclass1Service">
<property name="eBclass1EntityDao">
<ref bean="eBclass1EntityDao" />
</property>
</bean> <bean id="eBclass2EntityService"
class="com.kingstarit.M811project.service.basemgr.Bclass2Service">
<property name="eBclass2EntityDao">
<ref bean="eBclass2EntityDao" />
</property>
</bean> <bean id="eBclass3EntityService" class="com.kingstarit.M811project.service.basemgr.Bclass3Service">
<property name="eBclass3EntityDao">
<ref bean="eBclass3EntityDao" />
</property>
</bean> <bean id="eBcommentsEntityService" class="com.kingstarit.M811project.service.basemgr.BcommentsService">
<property name="eBcommentsEntityDao">
<ref bean="eBcommentsEntityDao" />
</property>
</bean> <bean id="eBnemuEntityService"
class="com.kingstarit.M811project.service.basemgr.BnemuService">
<property name="eBnemuEntityDao">
<ref bean="eBnemuEntityDao" />
</property>
</bean> <bean id="eBordersEntityService"
class="com.kingstarit.M811project.service.BordersService">
<property name="eBordersEntityDao">
<ref bean="eBordersEntityDao" />
</property>
</bean> <bean id="eBprodetailsEntityService" class="com.kingstarit.M811project.service.BprodetailsService">
<property name="eBprodetailsEntityDao">
<ref bean="eBprodetailsEntityDao" />
</property>
</bean> <bean id="eBuserEntityService" class="com.kingstarit.M811project.service.BuserService">
<property name="eBuserEntityDao">
<ref bean="eBuserEntityDao" />
</property> </bean>
</beans>
错误提示:
Error creating bean with name 'eBclass1EntityService' defined in ServletContext resource [/WEB-INF/applicationContext-service.xml]: Initialization of bean failed; nested exception is org.springframework.beans.InvalidPropertyException: Invalid property 'eBclass1EntityDao' of bean class [com.kingstarit.M811project.service.basemgr.Bclass1Service]: No property 'eBclass1EntityDao' found
。。
Caused by: org.springframework.beans.InvalidPropertyException: Invalid property 'eBclass1EntityDao' of bean class [com.kingstarit.M811project.service.basemgr.Bclass1Service]: No property 'eBclass1EntityDao' foundBclass1Service代码:
public class Bclass1Service implements IBclass1Service, LocalBclass1Service {
private LocalBclass1Dao eBclass1EntityDao;
public Bclass1 getById(Long id) {
Bclass1 obj = eBclass1EntityDao.load(id);
return obj;
}
public PageData listResult(Map<String, Object> map, int targetPage, int pageSize) {
return eBclass1EntityDao.getListByParam(map, targetPage, pageSize);
}
public Bclass1 saveOrUpdate(Bclass1 entity) {
if ((entity.getId() == null) || (entity.getId().intValue() == 0)) {
eBclass1EntityDao.save(entity);
} else {
eBclass1EntityDao.update(entity);
}
return entity;
}
public boolean delete(Bclass1 entity) {
eBclass1EntityDao.delete(entity);
return true;
}
public boolean deleteEntitys(String ids) {
return true;
} public LocalBclass1Dao getBclass1EntityDao() {
return eBclass1EntityDao;
} public void setBclass1EntityDao(LocalBclass1Dao bclass1EntityDao) {
this.eBclass1EntityDao = bclass1EntityDao;
}
}applicationContext-service.xml代码:
<?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="eBclass1EntityService" class="com.kingstarit.M811project.service.basemgr.Bclass1Service">
<property name="eBclass1EntityDao">
<ref bean="eBclass1EntityDao" />
</property>
</bean> <bean id="eBclass2EntityService"
class="com.kingstarit.M811project.service.basemgr.Bclass2Service">
<property name="eBclass2EntityDao">
<ref bean="eBclass2EntityDao" />
</property>
</bean> <bean id="eBclass3EntityService" class="com.kingstarit.M811project.service.basemgr.Bclass3Service">
<property name="eBclass3EntityDao">
<ref bean="eBclass3EntityDao" />
</property>
</bean> <bean id="eBcommentsEntityService" class="com.kingstarit.M811project.service.basemgr.BcommentsService">
<property name="eBcommentsEntityDao">
<ref bean="eBcommentsEntityDao" />
</property>
</bean> <bean id="eBnemuEntityService"
class="com.kingstarit.M811project.service.basemgr.BnemuService">
<property name="eBnemuEntityDao">
<ref bean="eBnemuEntityDao" />
</property>
</bean> <bean id="eBordersEntityService"
class="com.kingstarit.M811project.service.BordersService">
<property name="eBordersEntityDao">
<ref bean="eBordersEntityDao" />
</property>
</bean> <bean id="eBprodetailsEntityService" class="com.kingstarit.M811project.service.BprodetailsService">
<property name="eBprodetailsEntityDao">
<ref bean="eBprodetailsEntityDao" />
</property>
</bean> <bean id="eBuserEntityService" class="com.kingstarit.M811project.service.BuserService">
<property name="eBuserEntityDao">
<ref bean="eBuserEntityDao" />
</property> </bean>
</beans>
作为属性,前面的两个字母不能一个小写一个大写。
像这种:eBclass1EntityDao
是不合要求的。你要写成:
ebclass1EntityDao
<bean id="LocalBclass1Dao" class="com.netpower.dao.LocalBclass1Dao(你的类路径)">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>
<!-- 根DAO -->
<bean id="genericDao" class="com.kingstarit.M811project.dao.generic.GenericDao">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean> <bean id="eBclass1EntityDao" class="com.kingstarit.M811project.dao.basemgr.Bclass1Dao"
parent="genericDao" /> <bean id="eBclass2EntityDao" class="com.kingstarit.M811project.dao.basemgr.Bclass2Dao"
parent="genericDao" /> <bean id="eBclass3EntityDao" class="com.kingstarit.M811project.dao.basemgr.Bclass3Dao"
parent="genericDao" /> <bean id="eBcommentsEntityDao" class="com.kingstarit.M811project.dao.basemgr.BcommentsDao"
parent="genericDao" /> <bean id="eBnemuEntityDao" class="com.kingstarit.M811project.dao.basemgr.BnemuDao"
parent="genericDao" /> <bean id="eBordersEntityDao" class="com.kingstarit.M811project.dao.basemgr.BordersDao"
parent="genericDao" /> <bean id="eBprodetailsEntityDao" class="com.kingstarit.M811project.dao.basemgr.BprodetailsDao"
parent="genericDao" /> <bean id="eBuserEntityDao" class="com.kingstarit.M811project.dao.basemgr.BuserDao"
parent="genericDao" /> </beans>还有applicationContext-hibernate.xml<?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="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close" dependency-check="none">
<property name="driverClass">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="jdbcUrl">
<value>jdbc:mysql://localhost:3306/shopdb</value>
<!--<value>jdbc:mysql://localhost:3306/projectinformation</value>-->
</property>
<property name="user">
<value>root</value>
<!--<value>root</value> -->
</property>
<property name="password"> <value>3262652</value>
<!--<value></value> --> </property>
<property name="acquireIncrement">
<value>3</value>
</property>
<property name="initialPoolSize">
<value>3</value>
</property>
<property name="minPoolSize">
<value>2</value>
</property>
<property name="maxPoolSize">
<value>50</value>
</property>
<property name="maxIdleTime">
<value>600</value>
</property>
<property name="idleConnectionTestPeriod">
<value>900</value>
</property>
<property name="maxStatements">
<value>100</value>
</property>
<property name="numHelperThreads">
<value>10</value>
</property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref local="dataSource" />
</property>
<property name="mappingResources">
<list>
<value>com/kingstarit/M811project/entity/hbm/Bcomments.hbm.xml</value>
<value>com/kingstarit/M811project/entity/hbm/Bprodetails.hbm.xml</value>
<value>com/kingstarit/M811project/entity/hbm/Bclass2.hbm.xml</value>
<value>com/kingstarit/M811project/entity/hbm/Bclass3.hbm.xml</value>
<value>com/kingstarit/M811project/entity/hbm/Buser.hbm.xml</value>
<value>com/kingstarit/M811project/entity/hbm/Borders.hbm.xml</value>
<value>com/kingstarit/M811project/entity/hbm/Bnemu.hbm.xml</value>
<value>com/kingstarit/M811project/entity/hbm/Bclass1.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="current_session_context_class">thread</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">none</prop>
<prop key="hibernate.jdbc.fetch_size">50</prop>
<prop key="hibernate.jdbc.batch_size">25</prop>
<prop key="hibernate.connection.useUnicode">true</prop>
<prop key="connection.characterEncoding">UTF-8</prop>
</props>
</property>
</bean>
<!-- 配置事务管理器bean,使用HibernateTransactionManager事务管理器 -->
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<!-- 为事务管理器注入sessionFactory" -->
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<!-- 配置事务拦截器Bean -->
<bean id="transactionInterceptor"
class="org.springframework.transaction.interceptor.TransactionInterceptor">
<!-- 为事务拦截器bean注入一个事物管理器 -->
<property name="transactionManager" ref="transactionManager"></property>
<property name="transactionAttributes">
<!-- 定义事务传播属性 -->
<props>
<prop key="insert*">PROPAGATION_REQUIRED</prop>
<prop key="commit*">PROPAGATION_REQUIRED</prop>
<prop key="update*">PROPAGATION_REQUIRED</prop>
<prop key="save*">PROPAGATION_REQUIRED</prop>
<prop key="add*">PROPAGATION_REQUIRED</prop>
<prop key="remove*">PROPAGATION_REQUIRED</prop>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="load*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="change*">PROPAGATION_REQUIRED</prop>
<prop key="*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>
<!-- 定义BeanNameAutoProxyCreator -->
<bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<!-- 指定满足哪些bean自动生成业务代理 -->
<property name="beanNames">
<!-- 需要自动创建事务代理的bean -->
<list>
<value>eBclass1EntityService</value>
<value>eBclass2EntityService</value>
<value>eBclass3EntityService</value>
<value>eBcommentsEntityService</value>
<value>eBnemuEntityService</value>
<value>eBordersEntityService</value>
<value>eBprodetailsEntityService</value>
<value>eBuserEntityService</value>
</list>
</property>
<property name="interceptorNames">
<list>
<value>transactionInterceptor</value>
<!-- 可增加其它的interceptor -->
</list>
</property>
</bean>
</beans>
return eBclass1EntityDao;
} public void setBclass1EntityDao(LocalBclass1Dao bclass1EntityDao) {
this.eBclass1EntityDao = bclass1EntityDao;
}
}
spring是根据set来注入的。
我是用eclipse自动生成的!这个setBclass1EntityDao方法有问题?
parent="genericDao" /> <bean id="eBclass2EntityDao" class="com.kingstarit.M811project.dao.basemgr.Bclass2Dao"
parent="genericDao" /> <bean id="eBclass3EntityDao" class="com.kingstarit.M811project.dao.basemgr.Bclass3Dao"
parent="genericDao" /> <bean id="eBcommentsEntityDao" class="com.kingstarit.M811project.dao.basemgr.BcommentsDao"
parent="genericDao" /> <bean id="eBnemuEntityDao" class="com.kingstarit.M811project.dao.basemgr.BnemuDao"
parent="genericDao" /> <bean id="eBordersEntityDao" class="com.kingstarit.M811project.dao.basemgr.BordersDao"
parent="genericDao" /> <bean id="eBprodetailsEntityDao" class="com.kingstarit.M811project.dao.basemgr.BprodetailsDao"
parent="genericDao" /> <bean id="eBuserEntityDao" class="com.kingstarit.M811project.dao.basemgr.BuserDao"
parent="genericDao" />你看看你定的id。然后你在看看你生成的get\set方法如果你用的是eclipse 属性为is\e开头的都是有问题的。
this.eBclass1EntityDao = bclass1EntityDao;
}很明显可以看见这个set就少了一个大写的e。而B变成开头了。你这样的话spring 在属性注入的时候是根据set注入的。这样很明显找不到这个set方法了。