ssm框架搭建过程中的bug(石乐志)

匿名 (未验证) 提交于 2019-12-03 00:26:01

缺省代码:

<listener>     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>   </listener>

导致结果:页面500,报错内容

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'employeeController': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.itlc.crud.service.EmployeeService com.itlc.crud.controller.EmployeeController.employeeService; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.itlc.crud.service.EmployeeService] 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)}

从:

<context:component-scan base-package="com.itlc.crud.controller" use-default-filters="false"> <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>  </context:component-scan>

改为了:
<context:component-scan base-package="com.itlc.crud.controller" use-default-filters="false"/>
而由于use-default-filters=”false”的存在并且没有自己定义扫描方法,就什么都扫不到了。于是,不但没改对,反而加大了错误。

导致结果:controller也扫不到了,页面从500直接404,并且仍然没有找到错误原因,疯狂修改其他地方,使得格式板式混乱,继续导致其他错误。

》》》》》》》修改过程:在朋友的帮助下一步一步解决》》》》》》

策略:
1.去掉use-default-filters=”false”
2.恢复到

<context:component-scan base-package="com.itlc.crud.controller" use-default-filters="false"> <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>  </context:component-scan>

策略:在web.xml中补全代码:

<listener>     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>

策略:
1.将mapper的文件移动到resource中,注意同时修改spring配置文件找mapper.xml的对应位置
2.在maven的配置文件中加入

<resources>       <!--编译之后包含xml-->       <resource>         <directory>src/main/java</directory>         <includes>           <include>**/*.xml</include>         </includes>       </resource>     </resources>

这样xml文件也会被加入到target中了。

总结:工程类文件一定要注意格式,不要什么自己创造新方法,有bug一定要对症下药,不要乱改。格式真的十分重要。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!