SSM整合是不是有多种配置方式?

最近在学习SSM,虽然spring,springMVC,Mybatis三个框架单独使用没有问题,但是看整合的方式似乎并不固定,这点让我感到很迷惑,也许是我理解有问题。
我注意到不同的整合方式会用到不同的配置文件,web.xml和springMVC.xml是肯定用到了的,并且这两个文件配置的内容也基本相同。但是剩下的配置文件有的会用SqlMapConfig.xml和applicatonContext.xml,其中applicatonContext还会按配置的内容分成几个配置文件,有的则只用spring-mybatis.xml。
这两种配置方式的区别是为了应对不同的适用场景吗?这两种不同的配置方式是出于什么样的目的呢?

就是这两种:
https://blog.csdn.net/baidu_3...

https://blog.csdn.net/yijiema...

阅读 2.3k
3 个回答

本质上,web.xml 只是为了向 Tomcat 等 Server 中注入过滤器、(针对 Server 的监听器)等等。

而无论是 springMVC.xml 还是 applicationContext.xml,包括 spring-.xml 都属于 Spring 的配置文件,其实怎么叫都没关系,因为可以在 web.xml 里设定配置文件的路径(或是直接指定文件列表)。

Spring 的配置文件本质上只是在定义一堆 Bean,然后设置它们的初始化依赖或一些属性、方法设定。

所以其实没什么配置方式的区别,本质上就只有 Server 的配置文件和 Spring 的配置文件还有一些第三方包所需要的配置文件(比如 ORM 的配置文件)三个东西,你要是乐意可以把所有的 Spring 配置(Spring MVC 配置、数据库 ( dataSourcesession 之类 ) 配置乃至其他东西)都放在一个巨大无比的 applicationContext.xml 里让 Spring 去读取。

所以回到你的问题,这完全取决于你想用什么分类形式,常见的就是 spring-模块.xml,其中模块包括核心 (core)、数据库(db)等等。

第一个链接里的 applicationContext-XX 其实也就是 spring-XXX

个人之见,不一定完全正确,欢迎讨论,有错误还请指正!

web.xml 配置web相关的信息 如:监听、过滤器、servlet。spring mvc的servlet(spring-servlet.xml),spring的启动文件(application.xml)。
spring-servlet.xml spring mvc的相关配置,比如controller扫描,spring mvc相关的注解类生效配置等。
application.xml spring核心配置、一般分成多个文件,因为spring需要跟各个第三方整合 如、spring-mybatis.xml spring-redis.xml spring-ecache.xml 等。

其实思路比较清晰、各个文件干自己的事情、服务于各个框架。

xml形式的配置,看上去xml非常复杂,天花乱坠,其实没配多少东西。建议用注解型配置,比xml更易读,还能调试,还能玩各种花样。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题