大家好,我是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
注:上面里面主要是配置DispatcherServlet,启动tomcat后就会启动DispatcherServlet,启动了DispatcherServlet,相应的启动里面的Spring容器(注:里面放的是spring配置文件的路劲,注意一定要放在resource文件夹里面)。然后里面是主要接受请求的,/(代表接受所有请求吧)。
2)如上配置文件写好了就可写自己的Controller
3)在spring文件下配置如下内容
注:<context:component-scan base-package=""/>这个是组件扫描,“ ”里面是相应的包名(告诉spring容器到相应的包中扫面相应的注解,所以在建造相应servce,dao层的时候一定要在外面在套一层相应的包,这要的话扫描注解不会只相应的层)
相应xml配置:
1)web.xml文件和注解文件是一样的。
2)编写Controller:
2)spring配置文件:
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免费指导。
快来与我一起学习吧~ http://www.jnshu.com/login/1/28836439
[无名弟子]黄东江 发表于 2018-09-23 20:20:34 #1
spring的两种配置方式讲得不错,两者的区别跟注意事项都有提到。
回复