java开启注解驱动怎么做_springMVC注解驱动

本文深入探讨SpringMVC框架的设计理念及其在web开发中的优势。介绍了SpringMVC如何通过松散耦合组件实现灵活扩展,并重点讲解了DispatcherServlet作为核心组件的工作流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天又详细学习一下springMVC

springMVC简介

大部分java应用都是web应用,展现层是web应用最为重要的部分。Spring为展现层提供了一个优秀的web框架——Spring MVC。和众多其他web框架一样,它基于MVC的设计理念,此外,它采用了松散耦合可插拔组件结构,比其他MVC框架更具扩展性和灵活性。

SpringMVC通过一套MVC注解,让POJO成为处理请求的控制器,无需实现任何接口,同时,SpringMVC还支持REST风格的URL请求。

此外,SpringMVC在数据绑定、视图解析、本地化处理及静态资源处理上都有许多不俗的表现。

它在框架设计、扩展性、灵活性等方面全面超越了Struts、WebWork等MVC框架,从原来的追赶者一跃成为MVC的领跑者。

SpringMVC框架围绕DispatcherServlet这个核心展开,DispatcherServlet是SpringMVC框架的总导演、总策划,它负责截获请求并将其分派给相应的处理器处理。

springMVC的整体架构

如图所示:

19bd73686e2c4b34585a2374487ea063.png

1、 用户发起请求到前端控制器(DispatcherServlet),前端控制器没有能力处理业务逻辑;

2、 通过HandlerMapping查找模型(Controller、Handler);

3、 返回执行链,执行链包含了2部分内容,Handler对象以及拦截器(组);

4、 通过HandlerAdapter执行模型(Handler)

5、 适配器调用Handler对象处理业务逻辑;

6、 模型处理完业务逻辑,返回ModelAndView对象,view不是真正的视图对象,而是视图名称;

7、 将ModelAndView对象返回给前端控制器;

8、 前端控制器通过视图名称经过视图解析器查找视图对象;

9、 返回视图对象;

10、前端控制器渲染视图;

11、返回给前端控制器;

12、前端控制器将视图(html、json、xml、Excel)返回给用户;

本文重点

这里主要想说的是mvc的注解驱动

web.xml文件:

springmvc

springmvc

org.springframework.web.servlet.DispatcherServlet

1

springmvc

*.do

index.jsp

下面是springmvc的配置文件

根据上面springmvc的整体架构,做上面的相关配置,这一块儿的配置根据源码

可以用

代替,项目启动时打印的日志信息:红色标记

2016-01-12 16:57:09,250 [localhost-startStop-1] [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping]-[DEBUG] Looking for request mappings in application context: WebApplicationContext for namespace 'springmvc-servlet': startup date [Tue Jan 12 16:57:08 CST 2016]; root of context hierarchy2016-01-12 16:57:09,277 [localhost-startStop-1] [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping]-[INFO] Mapped "{[/test/mv],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public org.springframework.web.servlet.ModelAndView com.vincce.study.controller.TestController.page()

为什么mvc的注解驱动可以替代HandleMapping和HandleAdapter这两个的配置?

查看源码:

e65b998350c73163088c865f5275fb29.png

有点豁然开朗。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值