开发者社区> 问答> 正文

新手配置Maven环境时 :配置报错 

新手配置Maven环境时,报错org.springframework.beans.factory.BeanCreationException: Error creating bean with name

初学maven,但是又比较急,已经弄了很久了,但是环境还没有配出来,有没有高手帮忙解决一下呢??

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'manangerController': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.ssm.dufy.service.IManagerService org.ssm.dufy.web.ManangerController.managerService; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.ssm.dufy.service.IManagerService] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)} org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:292) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1185) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475) org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:304) org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228) org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:300) org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:195) org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:703) org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:760) org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482) org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:658) org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:624) org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:672) org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:543) org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:484) org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136) javax.servlet.GenericServlet.init(GenericServlet.java:158) org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:491) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:764) org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1388) org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) java.lang.Thread.run(Unknown Source)
配置文件如下: applicationContent.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd ">     <!-- 1.配置jdbc文件 -->     <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">             <property name="locations" value="classpath:jdbc.properties"/>     </bean>     <!-- 2.扫描的包路径,这里不扫描被@Controller注解的类 --><!--使用<context:component-scan/> 可以不在配置<context:annotation-config/> -->     <context:component-scan base-package="org.ssm.dufy.service">         <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>     </context:component-scan>          <import resource="classpath:spring-mybatis.xml" />      </beans> jdbc.properties jdbc_driverClassName =com.mysql.jdbc.Driver jdbc_url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8 jdbc_username=test jdbc_password=test spring-mvc.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"   xmlns:p="http://www.springframework.org/schema/p"   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   xmlns:context="http://www.springframework.org/schema/context"   xmlns:mvc="http://www.springframework.org/schema/mvc"   xsi:schemaLocation="     http://www.springframework.org/schema/beans     http://www.springframework.org/schema/beans/spring-beans-3.2.xsd     http://www.springframework.org/schema/context     http://www.springframework.org/schema/context/spring-context-3.2.xsd     http://www.springframework.org/schema/mvc     http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd">           <!-- 扫描controller(controller层注入) -->    <context:component-scan base-package="org.ssm.dufy.web" use-default-filters="false">         <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>     </context:component-scan>          <mvc:annotation-driven />       <!-- 内容协商管理器  -->     <!--1、首先检查路径扩展名(如my.pdf);2、其次检查Parameter(如my?format=pdf);3、检查Accept Header-->     <bean id="contentNegotiationManager" class="org.springframework.web.accept.ContentNegotiationManagerFactoryBean">         <!-- 扩展名至mimeType的映射,即 /user.json => application/json -->         <property name="favorPathExtension" value="true"/>         <!-- 用于开启 /userinfo/123?format=json 的支持 -->         <property name="favorParameter" value="true"/>         <property name="parameterName" value="format"/>         <!-- 是否忽略Accept Header -->         <property name="ignoreAcceptHeader" value="false"/>         <property name="mediaTypes"> <!--扩展名到MIME的映射;favorPathExtension, favorParameter是true时起作用  -->             <value>                 json=application/json                 xml=application/xml                 html=text/html             </value>         </property>         <!-- 默认的content type -->         <property name="defaultContentType" value="text/html"/>     </bean>

    <!-- 当在web.xml 中   DispatcherServlet使用 <url-pattern>/</url-pattern> 映射时,能映射静态资源 -->     <mvc:default-servlet-handler />       <!-- 静态资源映射 -->     <mvc:resources mapping="/static/**" location="/WEB-INF/static/"/>        <!-- 对模型视图添加前后缀 -->      <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"       p:prefix="/WEB-INF/jsp/" p:suffix=".jsp"/>        </beans> spring-mybatis.xml      <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     xmlns:aop="http://www.springframework.org/schema/aop"     xmlns:tx="http://www.springframework.org/schema/tx"     xmlns:context="http://www.springframework.org/schema/context"     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd    http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd">     <!-- 3.配置数据源 ,使用的alibba的数据库 -->     <bean id="dataSource"         class="com.alibaba.druid.pool.DruidDataSource" init-method="init"         destroy-method="close">         <!-- 基本属性 url、user、password -->         <property name="driverClassName"             value="${jdbc_driverClassName}" />         <property name="url" value="${jdbc_url}" />         <property name="username" value="${jdbc_username}" />         <property name="password" value="${jdbc_password}" />         <!-- 配置初始化大小、最小、最大 -->         <property name="initialSize" value="10" />         <property name="minIdle" value="10" />         <property name="maxActive" value="50" />         <!-- 配置获取连接等待超时的时间 -->         <property name="maxWait" value="60000" />         <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->         <property name="timeBetweenEvictionRunsMillis" value="60000" />         <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->         <property name="minEvictableIdleTimeMillis" value="300000" />         <property name="validationQuery" value="SELECT 'x'" />         <property name="testWhileIdle" value="true" />         <property name="testOnBorrow" value="false" />         <property name="testOnReturn" value="false" />         <!-- 打开PSCache,并且指定每个连接上PSCache的大小 如果用Oracle,则把poolPreparedStatements配置为true,mysql可以配置为false。 -->         <property name="poolPreparedStatements" value="false" />         <property name="maxPoolPreparedStatementPerConnectionSize"             value="20" />         <!-- 配置监控统计拦截的filters -->         <property name="filters" value="wall,stat" />     </bean>     <!-- spring和MyBatis完美整合,不需要mybatis的配置映射文件 -->     <bean id="sqlSessionFactory"         class="org.mybatis.spring.SqlSessionFactoryBean">         <property name="dataSource" ref="dataSource" />         <!-- 自动扫描mapping.xml文件 -->         <property name="mapperLocations"             value="classpath:org/ssm/dufy/mapper/*.xml"></property>     </bean>

    <!-- DAO接口所在包名,Spring会自动查找其下的类 ,自动扫描了所有的XxxxMapper.xml对应的mapper接口文件,只要Mapper接口类和Mapper映射文件对应起来就可以了 -->     <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">         <property name="basePackage" value="org.ssm.dufy.dao" />         <property name="sqlSessionFactoryBeanName"             value="sqlSessionFactory"></property>     </bean>     <!-- (事务管理)transaction manager, use JtaTransactionManager for global tx -->     <!-- 配置事务管理器 -->     <bean id="transactionManager"         class="org.springframework.jdbc.datasource.DataSourceTransactionManager">         <property name="dataSource" ref="dataSource" />     </bean>     <!--======= 事务配置 End =================== -->     <!-- 配置基于注解的声明式事务 -->     <!-- enables scanning for @Transactional annotations -->     <tx:annotation-driven         transaction-manager="transactionManager" />

</beans> web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"     id="WebApp_ID" version="3.0" metadata-complete="true">     <display-name>Archetype Created Web Application</display-name>          <!-- 读取spring配置文件 -->     <context-param>         <param-name>contextConfigLocation</param-name>         <param-value>classpath:applicationContent.xml</param-value>     </context-param>     <!-- 设计路径变量值 <context-param> <param-name>webAppRootKey</param-name> <param-value>springmvc.root</param-value>          </context-param> -->     <!-- Spring字符集过滤器 -->     <filter>         <filter-name>SpringEncodingFilter</filter-name>         <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>         <init-param>             <param-name>encoding</param-name>             <param-value>UTF-8</param-value>         </init-param>         <init-param>             <param-name>forceEncoding</param-name>             <param-value>true</param-value>         </init-param>     </filter>     <filter-mapping>         <filter-name>SpringEncodingFilter</filter-name>         <url-pattern>/</url-pattern>     </filter-mapping>     <!-- springMVC核心配置 -->     <servlet>         <servlet-name>dispatcherServlet</servlet-name>         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>         <init-param>             <param-name>contextConfigLocation</param-name>             <!--spingMVC的配置路径 -->             <param-value>classpath:spring-mvc.xml</param-value>         </init-param>         <load-on-startup>1</load-on-startup>     </servlet>     <!-- 拦截设置 -->     <servlet-mapping>         <servlet-name>dispatcherServlet</servlet-name>         <url-pattern>/</url-pattern>     </servlet-mapping>     <welcome-file-list>         <welcome-file>index.jsp</welcome-file>     </welcome-file-list>      </web-app>  

展开
收起
kun坤 2020-05-31 23:00:21 1371 0
1 条回答
写回答
取消 提交回答
  • web.xml里面的ContextLoaderListener没配置?

    <listener>   <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>
    ######如果有高手指教的话能远程帮忙看下是最好的,非常感谢,在线等!!!######Controller注入service的时候出错了,原因你的service对应的bean不存在,检查一下你的配置文件应该是没有扫描到service和实例化service的bean。######这个不是maven的问题,是Spring注入这块儿出错了,ManagerController里的managerService注入错误,找不到Service,这里需要检查代码~~######感觉 你那个类 是不是把构造private了######
     org.ssm.dufy.service.IManagerService 检查这个接口的实现类 是否添加@Service注解
    <context:component-scan base-package="org.ssm.dufy.service"> 这句是扫描base-package下面所有被 @Component 注解的类, @Service , @Controller 里面都被 @Component注解######

    引用来自“melon_jj”的评论

    这个不是maven的问题,是Spring注入这块儿出错了,ManagerController里的managerService注入错误,找不到Service,这里需要检查代码~~

    还有什么疑问吗?可以直接Q我3474203856 详细交流一下。

    2020-05-31 23:00:28
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载