这里是修真院后端小课堂,每篇分享文从
【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】
八个方面深度解析后端知识/技能,本篇分享的是:
【ANNOTATION和XML两种配置的差别,为什么更喜欢使用ANNOTAION来配置SPRING MVC?】
ANNOTATION和XML两种配置的差别,为什么更喜欢使用ANNOTAION来配置SPRING MVC?
2018年09月07日 11:13:21 阅读数:76
大家好,我是IT修真院深圳分院第十三期学员,一枚正直纯洁善良的JAVA程序员。 今天给大家分享一下,修真院官网JAVA任务二里面的知识点: ANNOTATION和XML两种配置的差别,为什么更喜欢使用ANNOTAION来配置SPRING MVC?
1 背景介绍 web项目的发展历程:MODEL1,MVC,SPRINGMVC model1:使用一个组件处理请求、业务、展现等操作。代码耦合度高、冗余等问题。
mvc:m:model,业务层,用来处理业务。v:view,视图层,用来展现数据。c:Controller,控制层,用来进行调度,是业务层和视图的桥梁,其目的是要将代码解耦,便于团队开发。
springmvc:是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,它为控制器和处理程序提供了大量与此模式相关的功能。并且当向 MVC 添加反转控制,它使应用程序高度解耦,提供了通过简单的配置更改即可动态更改组件的灵活性。Spring MVC 为您提供了完全控制应用程序的各个方面的力量。
2.知识剖析 2.1SPRING MVC五大组件 DispatcherServlet:Spring的WebMVC模块是围绕DispatcherServlet而设计的。DispatcherServlet 给处理程序分派请求,执行视图解析,并且处理语言环境和主题解析,此外还为上传文件提供支持。
hadlerMapping:包含了请求路径与模型的对应关系。
Controller(控制器):调用相应的业务层处理业务逻辑
ModelAndView:Controller处理数据封装在里面,当然还可能有视图名。
ViewResolver(视图解析器):调用真正的视图对象来生成相应的页面。
2.2运行原理 Dispatcherservle主要负责接受请求,然后依据HandlerMapping调用相应的控制器,Controller(控制器)处理业务返回ModelAndView,Disparcherservlet又依据相应的视图解析器(ViewResolver)调用相应的视图响应。
3.常见问题 1)怎样配置xml配置和注解配置? 2)xml配置和注解配置的优缺点? 3)为什么为什么更喜欢使用Annotaion来配置Spring MVC?
4.解决方案: 依据五大组件之间关系,然后xml或者注解配置相应的组件。 1)在web.xml文件下配置DispatcherServlet
配置文件的路劲,注意一定要放在resource文件夹里面)。然后里面是主要接受请求的,/(代表接受所有请求吧)。
2)如上配置文件写好了就可写自己的Controller
@Controller
public class HelloController {
@RequestMapping("/hello")
public String hello(){
System.out.println("hello()");
return "hello";
}
}1234567891011
图片描述" class="has" src="/res/2019/01-10/21/b442eabaae95f1108de62505f15aff73.jpg">
注:
相应xml配置: 1)web.xml文件和注解文件是一样的。 2)编写Controller:
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HelloController implements Controller {
@Override
public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
System.out.println("handleRequest()");
return new ModelAndView("hello");
}
}12345678910111213
2)spring配置文件:
图片描述" class="has" src="/res/2019/01-10/21/f97c5bc2945b67dc2818d16c1013bc71.jpg">
5.编码实战 6.扩展思考: 其实spring mvc是相对于web项目提出来的分层思想,而web项目分为前端和后端,相对于后端自顶向下分为controller层,service层,dao层,数据层或者叫持久层。有时候,为了达到解耦的目的,会在上述基层中间加入响应的接口层,以使得接口与实现分离。在更加大型的网站中,会出现更加复杂的架构,比如dao层与数据层之间要有缓存层,或者访问压力增大后,需要使用集群,负载均衡等高级技术 注:本人初学java者,如有不对敬请指出,谢谢! 7.参考文献 CSDN、百度百科
8 更多讨论 总结: 1)怎样配置xml配置和注解配置? xml:根据五大组件相应的配置xml文件里面的内容。 注解:相应注解对应的组件替换调xml文件的内容,然后添加组件扫描,和mvc注解开启。 2)xml配置和注解配置的优缺点? xml配置主要是结构清晰,容易理解,但是配置内容过多,所以工程量大的时候不利于解读和维护。 注解相对比较灵活,但对于初学者不利于理解,配置内容比较少,便于维护。 3)为什么为什么更喜欢使用Annotaion来配置Spring MVC? (1)相对于xml配置配置文件比较少,省事。 (2)注解代码比较简单,便于维护。
温馨提示:本人初学java者,如有不对敬请指出,谢谢!
技能树.IT修真院
“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。
这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。
快来与我一起学习吧~技能树.IT修真院
“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。
这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。
更多内容,可以加入IT交流群565734203与大家一起讨论交流
这里是技能树·IT修真院:nofollow">https://www.jnshu.com,初学者转行到互联网的聚集地