搭建Spring MVC 环境。controller中加上@Controller注解 。启动项目时出现了错误:Cannot map handler 'TestController' to URL path [/hello]: There is already handler of type [class com.yxl.test.controller.TestController] mapped.
控制器类:
配置文件:
错误原因:
spring容器注册生成类的时候,每个类值允许注册一次。
在TestController类上面加@Controller会把TestController注册成bean。在配置文件中又把TestController类注册了一次,所以发生了错误。spring允许注解和xml同时注册bean。但是注册的名字必须一致。
其实仔细观察,TestController和xml的id名称是一样的。
由于在component-scan扫描TestController时默认生成的id是类名首字母小写,也就是testController。
解决方法有两个:
1. 把<bean>里的id改为和component-scan生成的一致即可,也就是
这样不仅注入了内容,而且只映射一次。
2. 删除该<bean>的xml注解,使用注解注入,java代码修改为
public class Login { @Autowired private IUserService userService; ... }
前提是userService类必须可以可以被扫描到(可以用注解或xml配置userService类)。
若要注入配置文件也就是PropertyPlaceholderConfigurer配置的属性,
则应该用value注解,例如
@Value("${content}") private String content;
相关推荐
资源是springMVC注解和非注解两个版本
SpringMVC 注解和非注解demo。有关注解方式和非注解方式的讲解和demo
springmvc注解简单实例,本例子从dao层service层controller层,层层采用注解形式,层层调用,紧密相连,通过这个简单的例子我相信大家会对springmvc又一个整体大概的了解
springMVC注解+ security + redis 简单的实例,提供大家学习。springMVC注解+ security + redis 简单的实例,提供大家学习。
springmvc注解版每句话都有注释的,希望对你入门有点帮助。记得以前在csdn下载别人的源码要的积分又多,而且还运行不了。所以我上传的源码都会测一遍的,百分之百能跑起来。
springMVC 注解模式 完整事例 小例子 完整的小例子 放在eclipse或者myeclipse就直接可以运行的 包含简单的增删改查 上传文件 导出excle等小功能 登录验证等 简单实用 初学者首选
SpringMVC注解驱动的控制器详解,具体效果与过程看博文 http://blog.csdn.net/evankaka/article/details/45562951
SPRINGMVC 注解范例程序
SpringMVC注解@RequestParam全面解析
springmvc常用注解标签详解,总结,常用注解,标签详解,springmvc
03springmvc注解驱动开发的servlet3.0初始化配置类.avi
springmvc注解模式 实例 增删改查 导出 上传 地图 里面有完整的增删改查的实例 上传功能 导出excle表功能 各种echarts 的地图的实例
该文档是关于SpringMVC注解开发的详解,如:@Controller 用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller 对象。分发处理器将会扫描使用了该注解的类的方法,并检测该方法是否使用了@...
ssm配置文件springmvc.xml
SpringMVC 常用注解类,视频讲解,带课程文档。SpringMVC 常用注解类
springMVC注解开发代码
文档详细的解释了springmvc,有springmvc的配置及注解详解
囊括了springMVC的大部分注解,方便了spring的操作,用注解代替配置文件,十分方便,简单易懂
Redis 与SpringMVC 基于注解方式 集成