关于SSM的一些理解心得

以前开发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整合


下一篇:更高效的Cascades优化器 - Columbia Query Optimizer