《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高级征程:《大型网站技术架构》读书笔记系列
一.此书到底何方神圣? <大型网站技术架构:核心原理与案例分析>通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计 ...
随机推荐
- log4j 日志信息的引入(通用版)——解决项目运行过程中的日志信息
定义 log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台.文件.GUI组件,甚至是套接口服务器.NT的事件记录器.UNIX Syslog守护进程 ...
- 一:Shell基础
1.shell概述 shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell来启动,挂起,停止甚至是编写一些程序: shell还是 ...
- CSS3魔法堂:CSS3滤镜及Canvas、SVG和IE滤镜替代方案详解[转]
一.前言 IE特有的滤镜常常作为CSS3各种新特性的降级处理补充,而Adobe转向HTML5后与Chrome合作推出CSS3的Filter特性,因此当前仅Webkit内核的浏览器支持CSS3 F ...
- JavaScript 运算符
JavaScript 运算符 JavaScript 运算符用于赋值,比较值,执行算术运算等. JavaScript 算术运算符 算术运算符用于执行两个变量或值的运算. 赋值 y = 5, 以下表格将向 ...
- smarty foreach循环
1,smarty foreach1,单纯的数组array(1000,2000,3000),使用foreach(from = $array item=foo){$foo}2,键值对数组<ul> ...
- C# socket UDPの异步链接
基于C#的UDP异步连接,在本机上通过测试
- removeNode is not defined removeNode is not a function
在javascript操作dom树的时候可能会经常遇到增加,删除节点的事情,比如一个输入框后一个增加按钮,一个删除按钮,点击增加就增加 个输入框,点击删除就删除对应的输入框.在一些js框架,如Prot ...
- Linux Linux程序练习十六(进程间的通信信号版)
/* * 题目: * 编写程序,要去实现如下功能: 父进程创建子进程1和子进程2.子进程1向子进程2发送可靠信号,并传送额外数据为子进程1的pid*2; 子进程2接受可靠信号的值,并发送给父进程,父进 ...
- scala + intellij idea 环境搭建及编译、打包
大数据生态圈中风头正旺的Spark项目完全是采用Scala语言开发的,不懂Scala的话,基本上就没法玩下去了.Scala与Java编译后的class均可以运行于JVM之上,就好象.NET中F#与C# ...
- JavaScript系列:正则表达式
function testExecResultType() { var txt = "mom and dad and baby"; var pattern = /mom (and ...