SpringMVC 的注解和 XML 冲突的问题

问题描述

我搭建一个Spring MVC 环境。controller中加上@Controller注解@Controllerpublic class Login { private IUserService userService; public IUserService getUserService() { return userService; } public void setUserService(IUserService userService) { this.userService = userService; } @RequestMapping("login.html") public String login(HttpServletRequest request, HttpServletResponse response, ModelAndView view){ System.out.println("handle the login.html"); System.out.println(userService.getUserByCustId("000001031234").getUserMail()); return "index"; }}在spring的配置文件中配置注解扫描等。同时配置 <bean id="loginController" class="com.sdemo.controller.Login" > <property name="userService" ref="userService" /> </bean>注入userService。问题来了:如果不加这个注入项目可以正常运行,如果加了这个注入。提示异常org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping': Initialization of bean failed; nested exception is java.lang.IllegalStateException: Cannot map handler 'loginController' to URL path [/login.html]: There is already handler of type [class com.sdemo.controller.Login] mapped.请问该怎么办呢?问题出在哪里?注解和注入不能并存么?

解决方案

userService有没配置或注解啊
解决方案二:
@Serviceprivate IUserService userService; 去掉配置 <bean id="loginController" class="com.sdemo.controller.Login" > <property name="userService" ref="userService" /> </bean>
解决方案三:
@Autowiredprivate IUserService userService;
解决方案四:
sky_sz 正解。我前端时间做过。
解决方案五:
这句日志你没有看懂吗?Cannot map handler 'loginController' to URL path [/login.html]: There is already handler of type [class com.sdemo.controller.Login] mapped. 答案就在这里。
解决方案六:
将注解进行到底!

时间: 2024-08-26 15:40:10

SpringMVC 的注解和 XML 冲突的问题的相关文章

04springMVC结构,mvc模式,spring-mvc流程,spring-mvc的第一个例子,三种handlerMapping,几种控制器,springmvc基于注解的开发,文件上传,拦截器,s

 1. Spring-mvc介绍 1.1市面上流行的框架 Struts2(比较多) Springmvc(比较多而且属于上升的趋势) Struts1(即将被淘汰) 其他 1.2  spring-mvc结构  DispatcherServlet:中央控制器,把请求给转发到具体的控制类 Controller:具体处理请求的控制器(配置文件方式需要配置,注解方式不用配置) handlerMapping:映射处理器,负责映射中央处理器转发给controller时的映射策略 ModelAndView:服

value属性-SpringMVC中注解事物注解

问题描述 SpringMVC中注解事物注解 @Transational(value="",rollbackFor = Exception.class)中的value属性是什么意思,有什么用呢 解决方案 这个value的意思是指定,事务处理器.如spring配置中:,java代码中:@Transational(value="transactionManager",rollbackFor = Exception.class).说明此事务交由谁去处理,一般用于多事务处理器

xml和注解混用-spring2.5注解和xml配置混用

问题描述 spring2.5注解和xml配置混用 在使用spring2.5进行开发时,发现一个问题:使用xml配置的bean可以注入到使用Annotation注解的bean里面,**但是使用Annotation注解的bean不能注入到使用xml配置的bean里**面,请问有解决的方法吗? 解决方案 Spring2.5基于注解和XML配置事务管理Spring2.5注解式的配置spring2.5注解 解决方案二: 应该 优先使用注解,XML只做一些数据源或配置文件 等 的.基本上所有的bean都用注

SpringMVC常用注解實例詳解1:@Controller,@RequestMapping,@RequestParam,@PathVariable

SpringMVC常用注解實例詳解1:@Controller,@RequestMapping,@RequestParam,@PathVariable 我的開發環境框架:        springmvc+spring+freemarker開發工具: springsource-tool-suite-2.9.0JDK版本: 1.6.0_29tomcat版本:apache-tomcat-7.0.26 前置文章-SpirngMVC配置入門 http://www.cnblogs.com/sunang/p/

Spring使用AspectJ注解和XML配置实现AOP_java

本文演示的是Spring中使用AspectJ注解和XML配置两种方式实现AOP 下面是使用AspectJ注解实现AOP的Java Project 首先是位于classpath下的applicationContext.xml文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmln

controlleradvice-使用@ControllerAdvice注解后xml配置文件中扫描bean的的配置出问题

问题描述 使用@ControllerAdvice注解后xml配置文件中扫描bean的的配置出问题 使用@ControllerAdvice注解后xml配置文件中扫描bean的的配置出问题,报Error occured processing XML '[java.long.string抱着个错误,好像是不能使用@ControllerAdvice注释,希望哪位大神能帮忙解答,很着急,在线等 解决方案 http://www.oschina.net/question/1538598_195887?sort

SpringMVC关于json、xml自动转换的原理研究

前言 SpringMVC是目前主流的Web MVC框架之一. 如果有同学对它不熟悉,那么请参考它的入门blog:http://www.cnblogs.com/fangjian0423/p/springMVC-introduction.html 现象 本文使用的demo基于maven,是根据入门blog的例子继续写下去的. 我们先来看一看对应的现象. 我们这里的配置文件 *-dispatcher.xml中的关键配置如下(其他常规的配置文件不在讲解,可参考本文一开始提到的入门blog): (视图配置

springMVC项目,application.xml springmvc-servlet.xml

上一篇写的是web.xml配置文件. 现在说剩下的两个配置文件. application.xml    springmvc-servlet.xml 在controller中配置,@controller注解, 在配置文件中,需要配置  扫描注解. 扫描注解的配置,在 springmvc-servlet.xml 中.     在applicationContext.xml中配置 ,不起作用. <!-- 自动搜索@Controller标注的类 --> <context:component-sc

SpringMVC 其他注解类

•PathVariable注解类 •@RequestMapping注解中使用占位符的情况下,需要使用@PathVariable注解指定占位符参数 •RequestParam注解类 •在SpringMVC后台控制层获取参数的方式主要有两种,一种是request.getParameter("name"),另外一种是用注解@RequestParam直接获取 •有三个属性 value(参数名), required(是否需要传递参数),defaultValue(默认值) •不带任何参数,表示需要