简言:工欲其事必先利其器,作为一个大四的准毕业生,在实习期准备抽空补一下基础。SSM框架作为互联网的主流框架,在会使用的基础上还要了解其原理,我觉得会对未来的职场会有帮助的。我特意的买了一本《Java EE互联网轻量级框架整合开发》来借助书本上的理论来帮助理解。在这里我就来记录一下我每天学习到或者复习到的比较重要的知识点吧。

第一部分 入门和技术基础

  第一章 认识SSM框架和Redis

1.1 Spring框架

  书上介绍,Spring是Java应用最广的框架。它的成功来源于理论,而不是技术本身。它的理念包括IOC(Inversion Of Control,控制反转)和AOP(Aspect Oriented Programming,面向切面编程)

  IOC:IOC是一个容器,在Spring中,认为一切Java资源都是JavaBean,容器的目标就是管理这些Bean和他们之间的关系。

正常创建一个对象需要new来创建。例:Socket socket = new Socket1();(这是书上的例子我就拿来用了)

                  Socket socket = new Socket2();

  Socket1,和Socket2都是Socket的子类。假设一个程序里的Socket指向的都是Socket1的话,现在想把Socket对象指向Socket2,就需要修改所有的源代码,如果程序量大的话将是非常麻烦的事情。

  IOC是通过XML来控制JavaBean之间的依赖关系,在XML中配置:

<bean id="Socket" class="Socket2">

这样只需要修改class中映射的Bean的名就行了。

  控制反转:我理解就是之前我们是通过直接或许对象和对象的依赖关系,控制权在程序本身,如今是通过Spring开控制对象和对象的依赖关系,控制权在Spring,而程序不需要知道依赖关系。

  书上的话就是“你不需要去找资源,只要向Spring IOC容器描述所需要的资源,Spring IOC自己会找到你所需要的资源,这就是Spring IOC的理念。”

  AOP:在生产中,只用Java的面向对象(OOP)并不完善,还需要面向切面编程,通过它去管理在切面上的某些对象之间的协作。

  Spring AOP常用语数据库事务的编程,即:当我们做完第一步数据库更新之后,如果第二部失败要去回滚事务。在默认的情况下()只要Spring接收到异常欣喜,它就会将数据库的事务回滚,从而保证数据的一致性。

1.2 MyBatis

  MyBatis前身是Apache的开源项目iBatis。是一个基于Java持久层的框架。

  优势:灵活,几乎可以代替JDBC,同时提供了接口编程。不需要实现类,只需要一个XML(或注解)和一个接口。

  缺点:需要编写SQL和映射规则,工作量稍微大于Hibernate,其次,它支持的工具也很有限。

  总结:遇到性能要求不太苛刻的系统,比如管理系统,ERP等推荐使用Hibernate;而对于性能要求高,相应快,灵活的系统则推荐使用MyBatis。

1.3 Spring mvc

  我理解就是用来串联Spring和MyBatis的,我用的是就也就是用来书写Controller层和services层的,也是通过Spring依赖注入的形式。MVC模式也没啥好说的。

  •   M(Model):模型,封装了应用程序的数据和由他们组成的POJO(就是JavaBean)。
  •   V(View):视图,负责吧模型数据显然到视图上,将数据以一定得形式展现给用户。
  •   C(Controller)控制器,负责处理用户请求,并建立适当的模型把它传递给试图渲染。

互联网轻量级框架SSM-查缺补漏第一天的更多相关文章

  1. 互联网轻量级框架SSM-查缺补漏第六天【级联+延迟加载特辑】

    简言:本来这是昨天看的,但是因为想好好写一下[级联]这个东西,所以就看完之后今天来整理一下. 级联 1. 什么是级联 级联是一个数据库实体的概念.比如教师就需要存在学生与之对应,这样就有教师学生表,一 ...

  2. 互联网轻量级框架SSM-查缺补漏第八天(MyBatis插件plugin使用及原理)

    简言:今天进行第八天的记录(只是写了八天).有的时候看的多,有的时候看的少,看的少的时候就攒几天一起写了.而今天这个插件我昨天写了一下午,下班没写完就回去了,今天把尾收了,再加上一个过程图方便下面原理 ...

  3. Java EE互联网轻量级框架整合开发— SSM框架(中文版带书签)、原书代码

    Java EE互联网轻量级框架整合开发 第1部分 入门和技术基础 第1章 认识SSM框架和Redis 2 1.1 Spring框架 2 1.2 MyBatis简介 6 1.3 Spring MVC简介 ...

  4. Android查缺补漏(View篇)--自定义View利器Canvas和Paint详解

    上篇文章介绍了自定义View的创建流程,从宏观上给出了一个自定义View的创建步骤,本篇是上一篇文章的延续,介绍了自定义View中两个必不可少的工具Canvas和Paint,从细节上更进一步的讲解自定 ...

  5. Android查缺补漏(线程篇)-- AsyncTask的使用及原理详细分析

    本文作者:CodingBlock 文章链接:http://www.cnblogs.com/codingblock/p/8515304.html 一.AsyncTask的使用 AsyncTask是一种轻 ...

  6. 「查缺补漏」巩固你的Nginx知识体系

    Nginx篇 基本介绍 Nginx是一款轻量级的 Web服务器 / 反向代理服务器 / 电子邮件(IMAP/POP3)代理服务器,主要的优点是: 支持高并发连接,尤其是静态界面,官方测试Nginx能够 ...

  7. Android查缺补漏(IPC篇)-- Bundle、文件共享、ContentProvider、Messenger四种进程间通讯介绍

    本文作者:CodingBlock 文章链接:http://www.cnblogs.com/codingblock/p/8387752.html 进程间通讯篇系列文章目录: Android查缺补漏(IP ...

  8. Android查缺补漏(IPC篇)-- 款进程通讯之AIDL详解

    本文作者:CodingBlock 文章链接:http://www.cnblogs.com/codingblock/p/8436529.html 进程间通讯篇系列文章目录: Android查缺补漏(IP ...

  9. Android查缺补漏(IPC篇)-- 进程间通讯之AIDL详解

    本文作者:CodingBlock 文章链接:http://www.cnblogs.com/codingblock/p/8436529.html 进程间通讯篇系列文章目录: Android查缺补漏(IP ...

随机推荐

  1. Error creating bean with name 'dateSource' defined in file 错误信息

    问题的原因: 在web项目中搭建SSM框架,启动Tomcat时出现错误信息 有配置文件:applicationContext-mybatis.xml (Spring配置) spring-servlet ...

  2. 高版本sketch文件转成低版本的sketch

    https://pan.baidu.com/s/1htmNERU 下载 该文件然后在放到高版本sketch文件的目录下,执行下面命令 chmod +x ./build.sh ./build.sh 文件 ...

  3. SqlBulkCopy使用注意事项

    1. 有标识列的表 1.1 SqlBulkCopyOptions.KeepIdentity  必须设置!否则会出现复制过去的数据产生标识列发现变化的情况! 1.2 如果原表的标识列即为主键, 那按1. ...

  4. 2.1、Softmax Regression模型

    Softmax Regression模型 由于Logistics Regression算法复杂度低,容易实现等特点,在工业中的到广泛的使用,但是Logistics Regression算法主要用于处理 ...

  5. Java实现二维码生成的方法

    1.支持QRcode.ZXing 二维码生成.解析: package com.thinkgem.jeesite.test; import com.google.zxing.BarcodeFormat; ...

  6. Navicat 连接Sqlite数据库的方法和步骤

    1.打开Navicat,进行如下操作. 2.在弹出的新建连接对话框中输入正确的信息,点击“确定”按钮. 3.可见如下

  7. mfix mpi并行死锁问题探究

    目前还没找到具体原因,只能先记录一下.(问题原因找到了) 分别用ubuntu14.04和ubuntu16.04测试,用的是笔记本,笔记本为双核四线程,用2线程并行计算:发现ubuntu16.04会在0 ...

  8. P1613 跑路

    Luogu1613 #include<bits/stdc++.h> using namespace std; const int N=65; bool G[N][N][N]; int di ...

  9. gym 100589A queries on the Tree 树状数组 + 分块

    题目传送门 题目大意: 给定一颗根节点为1的树,有两种操作,第一种操作是将与根节点距离为L的节点权值全部加上val,第二个操作是查询以x为根节点的子树的权重. 思路: 思考后发现,以dfs序建立树状数 ...

  10. 补档 VS远程调试

    先说概念 开发机:将编译好的程序部署到目标机器上执行.配置 VS 工程,建立与目标机的连接,开始远程调试. 目标机:负责执行目标程序.安装和运行远程工具 (Remote Debugger),等待来自开 ...