springmvc-02(配置版与注解版区别)

2021/10/27 23:15:52

本文主要是介绍springmvc-02(配置版与注解版区别),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

首先,我们来看配置版和注解版的相同步骤:

1.新建一个Moudle , springmvc-02-hello , 添加web的支持!

2.确定导入了SpringMVC 的依赖!

3.配置web.xml  , 注册DispatcherServlet

4.编写SpringMVC 的 配置文件!名称:springmvc-servlet.xml  : [servletname]-servlet.xml

说明,这里的名称要求是按照官方来的

在springmvc.xml文件中也就是配置版和注解版不同的点:

我们先来看看配置版:

配置版:

1)添加处理器映射器

<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>

2)添加处理器适配器

<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>

 

3)添加视图解析器

<!--视图解析器:DispatcherServlet给他的ModelAndView-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="InternalResourceViewResolver">
<!--前缀-->
<property name="prefix" value="/WEB-INF/jsp/"/>
<!--后缀-->
<property name="suffix" value=".jsp"/>
</bean>

4)

编写我们要操作业务Controller ,要么实现Controller接口,要么增加注解;需要返回一个ModelAndView,装数据,封视图;

 

 

 5)将自己的类交给SpringIOC容器,注册bean


 

 6)写要跳转的jsp页面,显示ModelandView存放的数据,以及我们的正常页面;

注解版:注解版的xml文件的处理器映射器和处理器适配器的处理方式变得很方便:

<!-- 自动扫描包,让指定包下的注解生效,由IOC容器统一管理 -->
<context:component-scan base-package="com.kuang.controller"/>

<!-- 让Spring MVC不处理静态资源 -->
<mvc:default-servlet-handler />

<!--
支持mvc注解驱动
在spring中一般采用@RequestMapping注解来完成映射关系
要想使@RequestMapping注解生效
必须向上下文中注册DefaultAnnotationHandlerMapping
和一个AnnotationMethodHandlerAdapter实例
这两个实例分别在类级别和方法级别处理。
而annotation-driven配置帮助我们自动完成上述两个实例的注入。
-->
<mvc:annotation-driven />

可以看到,仅仅这一行代码注解,就将处理器映射器与处理器适配器为我们自动注入,省去我们很多时间

并且他们的方便不仅如此,还体现在我们接下来的Controller类中

 

 因为我们已经写入了自动扫描包,所以不需要向springmvc.xml中注册bean,

返回jsp页面直接可以return"hello",视图解析器会为我们自动识别

注意

@Controller是为了让Spring IOC容器初始化时自动扫描到;

@RequestMapping是为了映射请求路径,这里因为类与方法上都有映射所以访问时应该是/HelloController/hello;

方法中声明Model类型的参数是为了把Action中的数据带到视图中;

方法返回的结果是视图的名称hello,加上配置文件中的前后缀变成WEB-INF/jsp/hello.jsp。

总结:

通过注解方式,我们只需要手动配置视图解析器,而处理器映射器和处理器适配器只需要开启注解驱动即可,而省去了大段的xml配置

  (强烈推荐大家种草)

 

 



这篇关于springmvc-02(配置版与注解版区别)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程