SSM的粗解与搭建过程
SSM的粗解
SSM 分别为 Spring + SpringMVC + Mybatis;
Spring
概述: 为了解决项目中各层之间的松耦合问题(起到组件之间的粘结作用). 开源框架.
官网:www.spring.io
版本 : 3.x、 4.x(建议)、 5.x
好处:
1.不依赖于应用服务器.
2.IOC(控制反转)技术实现组件控制. 通过DI(依赖注入)技术提高了组件之间的解耦
3.通过AOP(面向切面编程)技术实现安全、事务、日志功能的统一管理,提高复用.
4.Spring框架可以几乎与其他任何框架进行良好的整合使用
5.Spring所有项目之间不相互依赖.
IOC : 控制反转. 本质: 将手动创建对象的工作,交给Spring容器实现完成.
DI : 依赖注入.含义 : 指的是针对实体类中: 属性成员赋值操作.
ioc + di 实现以下功能.
1.采用spring容器完全配置的写法实现分层开发与调用.
2.采用spring容器注解的写法实现分层开发与调用.
AOP技术:
切面的原理: 将 业务操作 与 安全,日志,事务 结合使用的过程称为面向切面编程.
SpringMVC
概述:一款表现层MVC框架.常用版本:4.x . 类似框架struts.
执行流程:
1.springMVC的加载核心控制器:DispatcherServlet.
2. HandlerMappings核心组件:创建映射器:
3.HandlerAdapters适配器: 可以负责调用找到的Controller对象和方法.
4.ViewResolvers: 视图解析器. 当用户响应视图时,
Mybatis
mybatis概述: 一个持久层操作框架.
Mybatis与hibernate 使用区别:
Hibernate : 可以高度的对jdbc实现封装. 不用编写sql,即可映射操作数据库. 针对复杂的多表关系, 可以方便关联操作. 场景: 当业务实体之间关系关联操作时,hibernate擅长处理. 不擅长: 复杂的业务关联关系.
对于SSM各层的作用,参考下面这里:
https://blog.csdn.net/lutianfeiml/article/details/51864160
SSM的搭建
SSM 搭建的步骤:
- 数据库
- 创建maven 项目 - 创建maven骨架
- 导包 – ssm – Pom.xml
- 创建目录结构 – 基于mvc的分层开发
Bean –dao – service - controller - 根据数据库去编写bean
- 去编写 dao (dao;impl)
- 因为Mybatis 代替了daoImpl,所以要去配置 Spring+Mybatis 配置文件 –
ApplicationContext.xml
a) Spring – 【→bean - dao(impl) - service(impl) - controller - 页面← 】 - 编写mapper.xml
- 编写 service (service+ impl)
- 配置 Spring - MVC.xml和 web.xml
- 导入 页面
- 写Controller
注意java包要转换为Sources Root;
resources包要转换为Resources Root;
构建过程可以参考:https://blog.csdn.net/weixin_42747657/article/details/81160501?tdsourcetag=s_pctim_aiomsg
小知识
C标签
C标签:
流程控制标签:if标签、choose标签、when标签、otherwise标签。
表达式控制标签:out标签、set标签、remove标签、catch标签。
循环标签:forEach标签、forTokens标签。
URL操作标签:import标签、url标签、redirect标签、param标签。
参考:https://blog.csdn.net/fjh_1205/article/details/80052162
https://www.runoob.com/jsp/jsp-jstl.html
JSP
JSP九大类:requst,response,pageContext,session,application,out,config,page,exception;
四大作用域:Request,Page,Application,Session;
除了相同名字的对应自己的作用域,其他全是Page的
九大类的作用参考以下链接:
https://blog.csdn.net/qq_37263827/article/details/77984835
MAVEN框架搭建时,神秘代码:archetypeCatalog = internal;调用国内服务器,用来加快下载速度。