《Spring 3.0就这么简单》 读书笔记
第一章:快速入门
开发流程:
1.创建库表 依赖jar包配置
2.事务:事务是恢复和并发控制的基本单位。
原子性(Atomicity)
一致性(Consistency)
隔离性(Isolation)
持续性/永久性(Durability)
3.散列算法:md5 散列算法:不可逆哦!
摘要是对信息主体的浓缩,摘要是一种单向函数,主要用于将无限的输入值转为有限的浓缩输出值,如MD5,则是将任意长度的字节系列转换为一个128位的摘要。MD5输出的128位的摘要通常会写 出32个十六进制的字符,每个字符表示4个bit。
数据库中存储的是密码的摘要哦,相同的字符串摘要也是相等的哦!
4.图片验证码:防止暴力破解!
5.重难点:请求入参 视图解析
第二章:Spring IOC容器
前言:控制反转:通过容器来控制业务对象之间的依赖关系。 降低对象间依赖。
IOC容器:bean缓存、bean生命周期管理、bean代理、资源装载、事件发布。
1.Bean配置方式:
a:基于xml配置
b:基于注解
c:基于java类
2.BeanFactory
ApplicationContext
WebApplicationContext
3.依赖注入方式: 属性注入、构造函数注入、
第三章:Spring AOP
前言:用途:横切逻辑(性能监测、访问控制、事务管理、日志记录)
1.AOP的出现:为了解决重复性代码。 纵向的重复性代码可以通过继承父类来消除。 但横向的重复性代码无法通过继承父类来消除,所以用AOP。
解决重复性代码:OOP的纵向抽象和AOP的横向抽象。
2.AOP术语
a:Spring连接点(Joinpoint):方法调用前、方法调用后、方法抛出异常时、方法调用前后。
b:切点(Pointcut):用来定位特定的连接点。 切点就是查询条件,查询特定的连接点哦! 类和方法做定位。
c:增强(Advice): 是织入目标连接点(Joinpoint)上的一段程序代码。
d:目标对象(Target):增强所植入的目标类哦。
e:引介:特殊的增强,也是一段程序代码(属性和方法),但不是来处理横切逻辑的,而是让该类成为某接口的实现类。
f: 代理(Proxy)
g:切面(Aspect)由切点和增强组成
3.织入方式:
a:编译期织入
b:类装载织入
c:动态代理织入 (spring采用的方式哦)
4.java漏洞(动态代理,还需好好的看下啊)。
第四章:使用Spring JDBC访问数据库
前言:Spring JDBC,为了降低JDBC的开发难度,减少重复性代码。
1.mysql获取新增主键值的查询语句:SELECT LAST_INSERT_ID()。 最后插入的记录的主键值。
2.sql语句规范:用大小写区分语义和非语义元素是比较好的编码习惯哦。 非语义元素:表名、字段名。
3.存储过程和函数。(数据库的加强点,早就忘了哦)。
4.BLOB和CLOB
5.主键的产生方式:应用层产生和数据库产生。 此何解?
应用层借助数据库的序列或表产生主键,这种方式可以保证程序的可移植性和安全性,同时可以通过缓存机制提高运行效率。
第五章:集成Hibernate
1.分页:
a:客户端分页,将所有数据记录一次性都查过来返回到客户端,缓存在客户端哦,通过客户端展现组件进行分页。
缺点: 但第一次交互负担会很大。 (高并发:访问次数很多的时候,访问次数很大)
优点: 减少交互次数,只需一次! 分页的时候会从缓存中读取。
b: 数据库分页,查询数据,每一次只查询指定条数的记录返回给客户端。 limit 5。
缺点:交互次数高,每一次请求都需要访问数据库,增加访问的并发性。
优点:交互负荷轻,数据量小。
c:服务端分页,和客户端分页一样,也是将所有数据记录查询出来,然后服务端做缓存,每一次都只返回指定条数的记录给客户端。
缺点:考虑数据缓存,数据同步问题,增加了系统的复杂性。
优点:客户端分页和数据库分页的折中选择, 减少数据库访问的并发性。 将所有查询结果做处理,每一次只返回给定请求指定的记录数。
第六章:Spring的事务管理
1.事务:事务是恢复和并发控制的基本单位。
原子性(Atomicity)
一致性(Consistency)
隔离性(Isolation)
持续性/永久性(Durability)
2.commit rollback savepoint
3.青奥项目用到的事务:通过aop/tx Schema命名空间 和 @Transactionl注解, 简化了事务配置难度哦。
第七章:Spring MVC
1.MVC:提高系统的灵活性、复用性、可维护性。
2.重难点:dispatcherServelt处理请求,以及请求参数绑定到控制器方法中。 上传文件也是哦!
控制产生用户所希望的模型数据和逻辑视图, vm视图来渲染模型数据(青奥项目)。
dispatcherServlet借助视图解析器来讲逻辑视图和模型数据渲染。
3.dispatcherservlet拦截请求(servlet:拦截器) servlet-mapping配置拦截制定后缀名的请求
dispatcherservlet协调分工哦。
4.listener:监听器 深入理解web服务器哦 web.xml 监听器启动spring的业务层的spring容器
filter:过滤器
servlet:拦截器
5.契约优于配置?
6.请求映射控制器方法:@RequestMapping
7.巩固Servlet HttpServletRequest HttpServeltResponse
8.处理数据模型,视图解析。
处理请求后返回的是一个ModelAndView对象,对于String、View、ModelMap,springMVC都会将其装配为一个ModelAndView对象(视图的逻辑名、模型对象)。
9.数据校验:在执行业务逻辑前,保证收到的数据是正确合法的哦。
10.DRY原则:Don`t Repeat Yourself
11.spring 上传文件
第八章:单元测试
1.软件测试:单元测试——》集成测试——》功能测试——》系统测试。 前两项是开发人员要做的哦。
2.测试用例:test case
测试套件:将多个测试用例组装成一个测试套件。 可以使测试用例批量运行。
3.好好的练习下测试吧, 看看测试框架
第九章:敏捷开发 (编程思想哦)
1.敏捷开发:是一种以人和核心、迭代、循序渐进的开发方式。 不跟分、不急躁。
2.Spring “约定优于配置” 思想?
3.敏捷开发高效工具: 版本控制工具 代码构建工具
CVS——》SVN:集中式版本控制系统 设置里程碑:打标签。
Git:分布式版本控制系统
Maven:自动化构建(清理、编译、测试、打包、部署) 理解这些命令,如果不用maven是怎样的?
第十章:服务平台框架
1.跨平台、跨语言、跨终端需求:面向服务的体系结构(SOA)为了解决这个需求。
多个应用产品通过服务接口进行整合,比如QQ(整合了QQ微信、QQ新闻、QQ股票等等)
2.Web service:SOA最理想的实现技术?
三个角色:服务提供者 服务请求者 服务中介者。 3个操作:发布、查找、绑定
第十一章 实例开发流程
《Spring 3.0就这么简单》 读书笔记的更多相关文章
- csapp读书笔记-并发编程
这是基础,理解不能有偏差 如果线程/进程的逻辑控制流在时间上重叠,那么就是并发的.我们可以将并发看成是一种os内核用来运行多个应用程序的实例,但是并发不仅在内核,在应用程序中的角色也很重要. 在应用级 ...
- CSAPP 读书笔记 - 2.31练习题
根据等式(2-14) 假如w = 4 数值范围在-8 ~ 7之间 2^w = 16 x = 5, y = 4的情况下面 x + y = 9 >=2 ^(w-1) 属于第一种情况 sum = x ...
- CSAPP读书笔记--第八章 异常控制流
第八章 异常控制流 2017-11-14 概述 控制转移序列叫做控制流.目前为止,我们学过两种改变控制流的方式: 1)跳转和分支: 2)调用和返回. 但是上面的方法只能控制程序本身,发生以下系统状态的 ...
- CSAPP 并发编程读书笔记
CSAPP 并发编程笔记 并发和并行 并发:Concurrency,只要时间上重叠就算并发,可以是单处理器交替处理 并行:Parallel,属于并发的一种特殊情况(真子集),多核/多 CPU 同时处理 ...
- 读书笔记汇总 - SQL必知必会(第4版)
本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...
- 读书笔记--SQL必知必会18--视图
读书笔记--SQL必知必会18--视图 18.1 视图 视图是虚拟的表,只包含使用时动态检索数据的查询. 也就是说作为视图,它不包含任何列和数据,包含的是一个查询. 18.1.1 为什么使用视图 重用 ...
- 《C#本质论》读书笔记(18)多线程处理
.NET Framework 4.0 看(本质论第3版) .NET Framework 4.5 看(本质论第4版) .NET 4.0为多线程引入了两组新API:TPL(Task Parallel Li ...
- C#温故知新:《C#图解教程》读书笔记系列
一.此书到底何方神圣? 本书是广受赞誉C#图解教程的最新版本.作者在本书中创造了一种全新的可视化叙述方式,以图文并茂的形式.朴实简洁的文字,并辅之以大量表格和代码示例,全面.直观地阐述了C#语言的各种 ...
- C#刨根究底:《你必须知道的.NET》读书笔记系列
一.此书到底何方神圣? <你必须知道的.NET>来自于微软MVP—王涛(网名:AnyTao,博客园大牛之一,其博客地址为:http://anytao.cnblogs.com/)的最新技术心 ...
- Web高级征程:《大型网站技术架构》读书笔记系列
一.此书到底何方神圣? <大型网站技术架构:核心原理与案例分析>通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计 ...
随机推荐
- 使用Fiddler对Android或者iOS设备进行抓包
1.PC端Fiddler配置 Tools->HTTPS->选中“Decrpt HTTPS traffic”,“Ignore server certificate errors” Tools ...
- Centos 内存占满 释放内存
free -m 查看内存使用情况 top,然后按下shift+m,按内存占用百分比排序 centos 为了提高效率,把部分使用过的文件缓存到了内存里.如果不需要这样的文件性能,那就可以释放. 如下两个 ...
- 【Linux】Linux 目录结构
博客已转移,请借一步说话 .http://www.weixuehao.com/archives/492 初学Linux,首先需要弄清Linux 标准目录结构 / root --- 启动Linux时使用 ...
- [转]Linq中使用Left Join
本文转自:http://www.cnblogs.com/xinjian/archive/2010/11/17/1879959.html use Test Create table Student( I ...
- 挤点时间写博客-php&MySQL实践
hi 晚上要吃火锅的嘛,挤点时间写点东西吧,别被老板发现哦 1.PHP与MySQL 五.文章发布系统之后台 5.2 创建配置文件和初始化文件 为了统一配置以及管理方便,还有就是减少代码的冗余. 分别为 ...
- codevs 1002 搭桥
codevs 第一道题 先贴描述 1002 搭桥 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 题目描述 Description ...
- [No00002F]3步,教你如何分解需求
对于产品新人来说,如果没有好师傅带,单枪匹马很难形成好的产品思路.有时候和研发沟通,双方都无法理解对方的想法,或者自己在写需求的时候,不是东丢点就是西漏点,老是被开发追着走.今天我就简单说一下个人的需 ...
- java 24 - 8 GUI之创建四则运算计算器(未校验版)
这个是用NetBeans软件制作的,因为这个软件制作GUI任务比较方便 通过拖拽控件生成的窗体:(红色的名称是更改后的控件名称) 拉拽好布局后,要进行的步骤: A:更改想要进行操作的控件的名称(右键控 ...
- uva167 The Sultan's Successors
The Sultan's Successors Description The Sultan of Nubia has no children, so she has decided that the ...
- 在C++中实现字符串分割--split
字符串分割 在一些比较流行的语言中,字符串分割是一个比较重要的方法,不论是在python,java这样的系统级语言还是js这样的前端脚本都会在用到字符串的分割,然而在c++中却没有这样的方法用来调用. ...