《Spring技术内幕》读书笔记
简介:
1.spring 与unix、window这些操作在计算机系统中起到的作用是类似的
2.两大核心模块:IOC\AOP
3.为应用开发提供了许多现成的系统组件:事务处理、Web MV、JDBC、O/R映射、远程调用等,这些组件可以在开源软件和商业产品中自由选择,重复体现了Spring的开放性。
第1章:Spring的设计理念和整体构架
1.IOC(依赖反转)可以使原来的对象-对象关系,转化为对象-IOC容器-对象的关系
2.Spring的设计理念:面向接口开发而不依赖于具体的产品实现
3.Spring的构架图:
4.Spring的价值、优点:
1)是个非请侵入性框架,应用对框架依赖很小
2)Spinrg提供了一致的编程模型,使应用直接使用POJO开发,使之与运行环境(应用服务器)隔离开来
3)Spring推动应用的设计风格向面向对象及面向接口编程转变,提高了代码的重用性和可测试性
4)Spring可以支持多个体系结构的选择,可以切换ORM工具,从struts切换到Spring MVC
第2章 Spring Framework的核心:IoC容器的实现
1. 为什么需要依赖反转:为了避免由自身实现对象依赖(创建对象的引用),所导致的代码高度耦合。
2.实现方式:在Spring中,是通过IoC容器实现这个模式的
3.什么是IOC:控制反转是关于一个对象如何获取它锁依赖的对象的引用,在这里,反转指的是责任的反转。
4.哪些需要被反转控制:如果对面向对象系统中的对象进行简单分类,会发现除了一部分数据对象外,其它很大一部分对象是用来处理数据的(service、core、DAO)。这些对象并不常发生变化,是系统中基础的部分。同时,这些对象之间的相互依赖关系也比较稳定,适合由IOC容器来管理。
5.和EJB的区别:Spring降低了对J2EE技术规范的依赖,更轻,更简单。
6.通过IOC,可以使组件之间的关系更清晰,更便于管理,发生变化的时候,也不需要修改和编译Java源码,还可以结合OSGi实现热部署
7.Ioc容器的设计与实现:围绕着BeanFactory和ApplicationContent
8.IOC容器的启动过程:BeanDefinition的resouce定位、载入、注册
9.IOC容器初始化和依赖注入是2个独立的过程,依赖注入一般发生在第一次向容器索取Bean的时候
10.spring生成Bean有2种方式:反射、cglib。cgLib框架通过直接操作字节码,效率比较高
11.
《Spring技术内幕》读书笔记的更多相关文章
- 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高级征程:《大型网站技术架构》读书笔记系列
一.此书到底何方神圣? <大型网站技术架构:核心原理与案例分析>通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计 ...
随机推荐
- 2019年IntelliJ IDEA 最新注册码,亲测可用(截止到2020年3月11日)
2019年IntelliJ IDEA 最新注册码(截止到2020年3月11日) 操作步骤: 第一步: 修改 hosts 文件 ~~~ 在hosts文件中,添加以下映射关系: 0.0.0.0 acco ...
- RSA公私钥获取模数和质数
实际项目中,发现前端在生成公钥对象的时候并不是使用这种方式,而是通过对应的模数跟质数来构造公钥对象的,这样的话,需要进一步将生成的公钥取出对应的模数和质数.openssl.java api都可以将质数 ...
- thrift常见异常及原因分析(updating)
[org.apache.thrift.TException家族] [Thrift架构] 以下是thrift的客户端和服务端交互的一个原理图.可以看到遵循了rpc框架的传输层.协议层和应用层三层.本文提 ...
- 关于mysql分组查询
在mysql查询中,用到GROUP BY 根据某一字段分组之后,每组显示的结果都只有第一条,这样的结果通常不是我们想要的. GROUP_CONCAT('字段') 可以将每一组下面的这个字段所有的数 ...
- 目标检测方法——R-FCN
R-FCN论文阅读(R-FCN: Object Detection via Region-based Fully Convolutional Networks ) 目录 作者及相关链接 方法概括 方法 ...
- Python基础训练题-简单数学公式
1.在100内,将遇到被7除余数为0的都显示PASS: n=1 while n < 101: if n % 7 == 0: pass print('pass') else: print(n) n ...
- angularjs简单介绍和特点
首先angular是一个mvc框架, 使用mvc解耦, 采用model, controller以及view的方式去组织代码, 会将一个html页面分成若干个模块, 每个模块都有自己的scope, se ...
- eclipse导出maven工程的可执行jar包
一.eclipse导出maven工程的可执行jar包 建立两个maven工程 ZKServer 和ZKClient 注意:用maven进行开发管理的话,默认的打出来的jar包是不能运行的,需要在pom ...
- python的对象 变量
对象 所有的数据类型都是对象 字符串 数字:整数.数字 列表.字典 函数.类.模块.方法 print(type(20)) # 查看对象的数据类型 python整型: int 浮点型 :float 精 ...
- 跨域请求携带cookie
function ajaxPostRequestCipherMachine(url, param) { var url = url; var dict = { 'ret' : false, 'er ...