这个项目在别人eclipse那里部署成功,所以不是代码问题
报错信息:
Error creating bean with name 'attachmentController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.jeefw.service.sys.AttachmentService] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@javax.annotation.Resource(shareable=true, mappedName=, description=, name=, type=class java.lang.Object, lookup=, authenticationType=CONTAINER)}
配置文件内容:
<context:annotation-config />
<context:component-scan base-package="com.jeefw.controller.sys,com.jeefw.dao.sys,com.jeefw.model.sys,com.jeefw.service.sys" />
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass" value="com.mysql.jdbc.Driver" />
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/jeefw?useUnicode=true&characterEncoding=utf-8" />
<property name="user" value="root" />
<property name="password" value="123456" />
<!-- SQL Server数据库配置 -->
<!--
<property name="driverClass" value="com.microsoft.sqlserver.jdbc.SQLServerDriver" />
<property name="jdbcUrl" value="jdbc:sqlserver://localhost:1433;DatabaseName=jeefw" />
<property name="user" value="sa" />
<property name="password" value="123456" />
-->
<!-- Oracle数据库配置 -->
<!--
<property name="driverClass" value="oracle.jdbc.driver.OracleDriver" />
<property name="jdbcUrl" value="jdbc:oracle:thin:@127.0.0.1:1521:orcl" />
<property name="user" value="SYSTEM" />
<property name="password" value="SkyNet888999" />
-->
<property name="acquireIncrement" value="3" />
<property name="idleConnectionTestPeriod" value="120" />
<property name="initialPoolSize" value="3" />
<property name="minPoolSize" value="3" />
<property name="maxPoolSize" value="15" />
<property name="numHelperThreads" value="3" />
<property name="preferredTestQuery" value="select 1" />
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
<!-- SQL Server的Dialect方言配置 -->
<!-- <prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop> -->
<!-- Oracle的Dialect方言配置 -->
<!-- <prop key="hibernate.dialect">org.hibernate.dialect.OracleDialect</prop> -->
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.use_outer_join">true</prop>
<prop key="hibernate.jdbc.fetch_size">30</prop>
<prop key="hibernate.jdbc.batch_size">30</prop>
<prop key="hibernate.jdbc.batch_versioned_data">true</prop>
<prop key="hibernate.cache.use_second_level_cache">true</prop>
<prop key="hibernate.cache.use_query_cache">true</prop>
<prop key="hibernate.cache.provider_class">net.sf.ehcache.hibernate.EhCacheProvider</prop>
<prop key="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory</prop>
<prop key="hibernate.current_session_context_class">org.springframework.orm.hibernate4.SpringSessionContext</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
<prop key="javax.persistence.validation.mode">none</prop>
<!-- 此注释里代码只跟全文检索有关,如需全文检索功能,放开注释,然后找到本文件的第87行和web.xml的第15行放开注释,重启应用服务器即可。可配置,不影响框架使用。苹果Mac电脑需要修改hibernate.search.default.indexBase参数。 -->
<!--
<prop key="hibernate.search.default.directory_provider">filesystem</prop>
<prop key="hibernate.search.default.indexBase">D:/JeefwLuceneIndexes</prop>
<prop key="hibernate.search.default.refresh">1800</prop>
<prop key="hibernate.search.default.indexwriter.max_merge_docs">100</prop>
<prop key="hibernate.search.default.indexwriter.ram_buffer_size">64</prop>
<prop key="hibernate.search.default.optimizer.operation_limit.max">1000</prop>
<prop key="hibernate.search.default.optimizer.transaction_limit.max">100</prop>
-->
</props>
</property>
<property name="dataSource" ref="dataSource" />
<property name="packagesToScan">
<list>
<value>com.jeefw.model</value>
</list>
</property>
</bean>
<bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<tx:annotation-driven transaction-manager="transactionManager" />
<!-- 此注释里代码的作用是应用服务器每次启动都生成索引。在SystemInitListener里执行。可配置,不影响框架使用。 -->
<!-- <bean id="informationService" class="com.jeefw.service.sys.impl.InformationServiceImpl" /> -->
<bean id="indexingInformationJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="informationServiceImpl" />
<property name="targetMethod" value="indexingInformation" />
</bean>
<!-- 每天凌晨2点执行定时任务,生成索引。 -->
<bean id="indexingInformationJobTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail" ref="indexingInformationJob" />
<property name="cronExpression" value="0 0 2 * * ?" />
</bean>
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean" lazy-init="false">
<property name="triggers">
<list>
<ref bean="indexingInformationJobTrigger" />
</list>
</property>
</bean>
<bean id="updateUserPwdLogicBean" class="com.app.logic.UpdateUserPwdLogicServer" />
<!-- 配置业务逻辑池 -->
<bean id="logicExecuteWorkerEnginBean" class="com.app.logic.LogicExecuteWorkerEngine">
<property name="requestBeanTrans">
<map>
<entry key="1302">
<value>com.app.bean.UpdateUserPwdRequestBean</value>
</entry>
</map>
</property>
<property name="logicPool">
<map>
<entry key="1302">
<ref bean="updateUserPwdLogicBean" />
</entry>
</map>
</property>
</bean>
<!-- 配置接口传输操作协议对象 -->
<bean id="transmissionBean" class="com.app.logic.Transmission">
</bean>
数据源配置的密码我填的是错的密码,它不报数据库的错,却报这个错
换过tomcat的版本,也没用
我部署这个项目是通过在myeclipse里面新建一个web项目,然后把要用的文件夹一个一个copy过来的,配置文件和jar包也是,整个项目的配置我只改动了数据源的密码