最近一直在用SpringBoot(开箱即用, 真好), SSM感觉有点陌生了, 故温习下SSM繁琐的配置.
前提: 项目的是用Maven进行管理和构建的.
首先pom.xml
主要是项目依赖:
1 |
|
web项目的入口配置文件– web.xml
1 |
|
classpath下(resources下)各大框架的配置文件:
Spring的配置文件 Spring-context.xml
1 |
|
SpringMVC的配置文件– spring-mvc.xml
1 |
|
MyBatis的配置文件– mybatis-config.xml
1 |
|
配置文件差不多了, 接下就是写业务代码了.
一些理解
在实际应用,SpringMVC可以完全替代Struts,配合注解的方式,编程非常快捷,
而且通过restful风格定义url,让地址看起来非常优雅。
另外,MyBatis也可以替换Hibernate,
正因为MyBatis的半自动特点,我们程序猿可以完全掌控SQL,这会让有数据库经验的程序猿能开发出高效率的SQL语句,
而且XML配置管理起来也非常方便。
SpringMVC:它用于web层,相当于controller(等价于传统的servlet和struts的action),用来处理用户请求。
举个例子,用户在地址栏输入http: //网站域名/login, 那么springmvc就会拦截到这个请求,
并且调用controller层中相应的方法,
(中间可能包含验证用户名和密码的业务逻辑,以及查询数据库操作,但这些都不是springmvc的职责),
最终把结果返回给用户,并且返回相应的页面(当然也可以只反馈josn/xml等格式数据)。
springmvc就是做前面和后面过程的活,与用户打交道!!Spring:太强大了,以至于我无法用一个词或一句话来概括它。
但与我们平时开发接触最多的估计就是IOC容器,
它可以装载bean(也就是我们java中的类,当然也包括service dao里面的),
有了这个机制,我们就不用在每次使用这个类的时候为它初始化,很少看到关键字new。
另外spring的aop,事务管理等等都是我们经常用到的。MyBatis:如果你问我它跟鼎鼎大名的Hibernate有什么区别?我只想说,他更符合我的需求。
第一,它能自由控制sql,这会让有数据库经验的人(当然不是说我啦~捂脸~)编写的代码能搞提升数据库访问的效率。
第二,它可以使用xml的方式来组织管理我们的sql,因为一般程序出错很多情况下是sql出错,
别人接手代码后能快速找到出错地方,甚至可以优化原来写的sql。
大致整体流程:
1 | 0. 创建目录大致结构 |