java中的接口是类吗
329
2022-08-26
springMVC不扫描controller中的方法问题
目录springMVC不扫描controller下面是正确的spring-mvc.xml文件那我遇到这个问题的原因是什么呢?springMVC包扫描问题为什么@COntroller要放在springMVC中?
springMVC不扫描controller
最近把之前的一个Maven项目在一个新的电脑环境上导入Eclipse,启动时却发现不扫描 controller 中的方法
下面是正确的 spring-mvc.xml 文件
xmlns:xsi="http://w3.org/2001/XMLSchema-instance" xmlns:p="http://springframework.org/schema/p" xmlns:context="http://springframework.org/schema/context" xmlns:mvc="http://springframework.org/schema/mvc" xsi:schemaLocation="http://springframework.org/schema/beans http://springframework.org/schema/beans/spring-beans-3.1.xsd http://springframework.org/schema/context http://springframework.org/schema/context/spring-context-3.1.xsd http://springframework.org/schema/mvc http://springframework.org/schema/mvc/spring-mvc-4.0.xsd"> class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"> class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> claluQNWIbxhAss="org.springframework.web.servlet.view.InternalResourceViewResolver"> class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
xmlns:xsi="http://w3.org/2001/XMLSchema-instance" xmlns:p="http://springframework.org/schema/p"
xmlns:context="http://springframework.org/schema/context"
xmlns:mvc="http://springframework.org/schema/mvc"
xsi:schemaLocation="http://springframework.org/schema/beans
http://springframework.org/schema/beans/spring-beans-3.1.xsd
http://springframework.org/schema/context
http://springframework.org/schema/context/spring-context-3.1.xsd
http://springframework.org/schema/mvc
http://springframework.org/schema/mvc/spring-mvc-4.0.xsd">
class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
claluQNWIbxhAss="org.springframework.web.servlet.view.InternalResourceViewResolver">
claluQNWIbxhAss="org.springframework.web.servlet.view.InternalResourceViewResolver">
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
那我遇到这个问题的原因是什么呢?
是因为新配置的环境,缺少很多 jar 包,所以项目导入Eclipse之后, 这个文件就报 “
有错,我也没多想就先把它给删除了。
好吧,问题就这样产生了。
小结一下:在导入一个项目之后,可能会提示有很多错误,但针对一些配置文件,解决的方式不应该是删除或修改文件中的内容,
而应该先解决依赖等问题,不然像我这种之前没有问题的项目,就因为换了环境就产生怪问题。
springMVC包扫描问题
为什么@COntroller要放在springMVC中?
@Controller注解的bean必须由DispatcherServlet初始化的children webApplicationContext来管理,在DispatcherServlet初始化的context中会扫描当前容器所有的bean实例,根据类级别以及方法级别的映射信息注解组装成对应的HandleMappering信息,但是ContextLoaderListener是不具备这个功能的。
一句话spring中没有办法扫描controller的bean,所以spring中可以扫描所有的,但是对于@controller不会骑作用,所以必须在springMVC中再加一次对controller的扫描。
PS:之前遇到一个事物的,一开始把@Transactional放在COntroller怎么都不起作用,原因是只在spring中配置了
而Controller没配,原因
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~