互联网轻量级框架SSM-查缺补漏第一天
简言:工欲其事必先利其器,作为一个大四的准毕业生,在实习期准备抽空补一下基础。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-查缺补漏第一天的更多相关文章
- 互联网轻量级框架SSM-查缺补漏第六天【级联+延迟加载特辑】
简言:本来这是昨天看的,但是因为想好好写一下[级联]这个东西,所以就看完之后今天来整理一下. 级联 1. 什么是级联 级联是一个数据库实体的概念.比如教师就需要存在学生与之对应,这样就有教师学生表,一 ...
- 互联网轻量级框架SSM-查缺补漏第八天(MyBatis插件plugin使用及原理)
简言:今天进行第八天的记录(只是写了八天).有的时候看的多,有的时候看的少,看的少的时候就攒几天一起写了.而今天这个插件我昨天写了一下午,下班没写完就回去了,今天把尾收了,再加上一个过程图方便下面原理 ...
- Java EE互联网轻量级框架整合开发— SSM框架(中文版带书签)、原书代码
Java EE互联网轻量级框架整合开发 第1部分 入门和技术基础 第1章 认识SSM框架和Redis 2 1.1 Spring框架 2 1.2 MyBatis简介 6 1.3 Spring MVC简介 ...
- Android查缺补漏(View篇)--自定义View利器Canvas和Paint详解
上篇文章介绍了自定义View的创建流程,从宏观上给出了一个自定义View的创建步骤,本篇是上一篇文章的延续,介绍了自定义View中两个必不可少的工具Canvas和Paint,从细节上更进一步的讲解自定 ...
- Android查缺补漏(线程篇)-- AsyncTask的使用及原理详细分析
本文作者:CodingBlock 文章链接:http://www.cnblogs.com/codingblock/p/8515304.html 一.AsyncTask的使用 AsyncTask是一种轻 ...
- 「查缺补漏」巩固你的Nginx知识体系
Nginx篇 基本介绍 Nginx是一款轻量级的 Web服务器 / 反向代理服务器 / 电子邮件(IMAP/POP3)代理服务器,主要的优点是: 支持高并发连接,尤其是静态界面,官方测试Nginx能够 ...
- Android查缺补漏(IPC篇)-- Bundle、文件共享、ContentProvider、Messenger四种进程间通讯介绍
本文作者:CodingBlock 文章链接:http://www.cnblogs.com/codingblock/p/8387752.html 进程间通讯篇系列文章目录: Android查缺补漏(IP ...
- Android查缺补漏(IPC篇)-- 款进程通讯之AIDL详解
本文作者:CodingBlock 文章链接:http://www.cnblogs.com/codingblock/p/8436529.html 进程间通讯篇系列文章目录: Android查缺补漏(IP ...
- Android查缺补漏(IPC篇)-- 进程间通讯之AIDL详解
本文作者:CodingBlock 文章链接:http://www.cnblogs.com/codingblock/p/8436529.html 进程间通讯篇系列文章目录: Android查缺补漏(IP ...
随机推荐
- scrapy中通过set()方法进行数据过滤去重
我们经常在抓取数据是碰到 数据重复的问题,除了radis数据库去重功能外,还有一种简便的过滤方法, 来来 我们直接上代码: pipelines.py中: from scrapy.exceptions ...
- 题解 CF948A 【Protect Sheep】
题目链接 额..这道题亮点在: $you$ $do$ $not$ $need$ $to$ $minimize$ $their$ $number.$ 所以说嘛... 直接判断狼的四周有没有紧挨着的羊,没 ...
- 【python】collections模块(有序字典,计数器,双向队列)
collections模块基本介绍 我们都知道,Python拥有一些内置的数据类型,比如str, int, list, tuple, dict等, collections模块在这些内置数据类型的基础上 ...
- Java中的Date Time 与SQL Server 2005里的Datetime 之间的交互
Preface Environment:Platform: Windows XPLanguage: Java 1.5IDE: MyEclipse 6.0.1Database: SQL Server 2 ...
- COCO2018 stuff分割
stuff何许人也,相对于目标而言的环境信息,一般是图像中的草地,墙面或者天空,因为往往在一张图像中这些背景占据着大部分像素,对于场景理解必不可少,所以引入了这一任务. 不过目前这个任务还没有发布te ...
- day--43 HTML标签和CSS基本小结
HTML标签和CSS基本小结一:常用标签 01:块标签 p,h1--h6 ,hr ,div 02:内联标签 b,i,u,s 小提示:块标签可以嵌套内置元素或者某些块级元素,但内联元素不能包含块级元素 ...
- hibernate自动生成时报错问题
创建好了实体类和.hbm.xml文件,运行项目报上错: 实体类和xml文件中的字段要一致.(顺序和字段)
- thinkphp3.2.3 批量包含文件
自己瞎写的...凑合看吧...核心就是用正则 表达式 或者 字符串 str_replace 进行 替换....... /** * 批量包含---,不能递归包含!!! 请不要在目标目录 包含 文件夹,因 ...
- ICEM二维网格
非结构网格 结构网格 拓扑 拓扑完建立part边界条件,然后创建block 拓扑完后进行边界条件关联 全局网格设置
- [SP1825] Free tour II
/* ----------------------- [题解] https://www.luogu.org/blog/IRving1-1/solution-sp1825 --------------- ...