注:建议在浏览本文之前,先浏览上一篇文章“正好有时间:开发第一个Spring MVC应用”。
前面详细的讲述了如何开发一个简单的Spring MVC应用的流程,由于从Spring2.5开始新增了基于注解的控制器,也就是说控制器的描述不用再实现Controller接口了,而是通过注释类型的方法来说明的。下面将上个例子的SpringMVC这个Web应用进行简单的修改,使它变成一个基于注解的控制器Spring MVC的Web应用。
首先新建一个Dynamic Web应用,命名为SpringMVCAnnotation,接下来的所有步骤都和上一个“开发第一个Spring MVC应用”示例一样,但是值得注意的是,在这里我们需要修改两个地方。
1、Controller类的实现
由于本文将使用注解类型的方法来描述控制器,因此HelloController类不再需要实现Controller接口和重写handleRequest方法了。修改的代码如下所示:
@Controller这个注解用于指示Spring类的实例是一个控制器,即HelloController是一个基于注解的控制器。@RequestMapping注解用来映射一个请求和请求的方法,value=“/hello”表示请求由hello方法进行处理,换句话来讲,Spring会调用@RequestMapping标注的方法。方法返回值是一个ModelAndView对象,这和上一个示例是一样的。
有没有发现此处相比较在配置文件中使用XML描述Bean的方法方便了不少,尤其是控制器类的代码简单了许多。
2、修改Spring MVC的配置文件
此刻,我们可以直接复制上一个示例的springmvc-config.xml文件,并对其进行修改。
需要特别注意图中14行代码的配置信息,小编曾经在这里掉进坑里了,13行的注释说明了14行代码主要是让Spring可以自动去扫描base-pack下面的包或者子包下面的Java文件,记住,是在包下扫描!!!所以在写base-pack的值的时候千万别把类也写进去,不然就扫描不到含有@Controller的类了。
其中,在配置文件中的17行到20行中,还配置了一个annotation类型的处理器映射器和一个处理器适配器。RequestMappingHandlerMapping(处理器映射器)会根据请求查找映射,而RequestMappingHandlerAdapter(处理器适配器)将完成对HelloController类的@RequestMapping标注方法的调用,最后还配置了视图解析器来解析视图,并将View呈现给用户。
测试
使用Eclipse部署SpringMVCAnnotation应用,在本地浏览器中输入如下URL进行测试:
http://localhost:8888/SpringMVCAnnotation/hello
出现如下所示结果,则表示Spring MVC访问成功。
是否察觉到基于注解的控制器相对于上一个示例方便了许多?但是有些同学可能会对Spring MVC执行的流程感到困惑。不用着急,如果正好有时间的话,不妨跟着小编一起共同学习,与小编共同成长!
本文暂时没有评论,来添加一个吧(●'◡'●)