ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

关于SSM的一些理解心得

2022-02-11 01:31:37  阅读:298  来源: 互联网

标签:请求 对象 心得 接口 SSM 理解 反转 servlet 我们


以前开发BS架构的项目时,一般用html,js,css,ajax写前台,servlet作为后台接受请求,传输数据,再用jdbc操作数据库来实现。

1.前台发送请求------>2.后台servlet接收请求------->3.在servlet里获取请求的参数------>4.通过参数我们进行相应的数据库操作------->5.将处理好的数据再通过servlet响应给前台

这种方式简单但效率低,对于每一个操作我们都需要些个servlet去接收和响应。对于每一个对象我们都需要些很多重复的增删改查的方法。正因为有这样的缺陷大佬们才发明了框架。然而你不管你外面包装了多少层我们的底层的实现还是用上述的方式,只不过包装后更简单了。

 

一.springmvc(servlet):

springmvc里有一个核心的servlet用于接受所有的请求DispatcherServlet(前端控制器),而每一个功能的servlet都要专门写一个servlet。

在DispatcherServlet里面我们获取请求的

URI(URI一般由三部分组成:一、主机名。二、标志符三、相对URI

下面是一个图像的相对URI:

<IMG src="../icons/logo.gif" alt="logo">

而在程序里获取的就是类似于 项目名/目录/../savedept.do

)

我们通过uri来判断我们请求的信息然后具体的操作我们调用不同的

控制器controller(

@RequestMapping(value="/savedept.do")
@ResponseBody
public String savedata(){undefined

//调用服务中的方法
departmentService.Savedata();

System.out.println("11111");

return "ok";
}

然后将处理好的结果通过DispatcherServlet响应回去或者响应相应的视图(前台网页)。

 

二.mybatis(JDBC):

以前是用JDBC时有很多的重复代码需要编写,会造成代码的冗余,使用mybatis框架技术替代了JDBC技术。

用mybatis这是如下步骤:

1.对于我们数据库中每一个表我们会有一个响应的javabean类;

 

 2.对于没有个javabean我们会写一个对应的接口;

3.对于每一个接口我们相应的会配置一个mapper配置文件,用于标注我们接口方法具体的数据库操作

4.具体实现我们的接口方法

SqlSessionFactoryBuilder通过mybatis-config.xml创建sqlSessionFactory;

再通过sqlSessionFactory.openSession()获取sqlsesion;

sqlsesion获取mapper.xml配置信息创建接口;

调用接口方法;

关闭sqlsession

);

 

三.通过new实例化对象和spring控制反转:通过DI实现IOC

Ioc—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。

有反转就有正转,传统应用程序是由我们自己在对象中主动控制去直接获取依赖对象,也就是正转;而反转则是由容器来帮忙创建及注入依赖对象;为何是反转?因为由容器帮我们查找及注入依赖对象,对象只是被动的接受依赖对象,所以是反转;哪些方面反转了?依赖对象的获取被反转了。

标签:请求,对象,心得,接口,SSM,理解,反转,servlet,我们
来源: https://www.cnblogs.com/gujiajie/p/15881687.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有