Spring In Action(第三版)读书笔记
第一章 Spring之旅
POJO: plain old java object 简单的java对象
DI:Dependency Injection 依赖注入
构造器注入:构造时作为构造器参数传入
private Quest quest;
public BraveKnight(Quest quest){
this.quest = quest;
}
其中 Quest是个接口,用以在于实现松耦合。
测试的时候可以使用mock实现。如下:
Quest mockQuest = mock(Quest.class);
BraveKnight knight = new BraveKnight(mockQuest);
装配wiring: 创建组件之间的协作行为.
XML配置装配
<bean id="quest" class="test.SlayDragonQuest"/>
<bean id="knight" class="test.BraveKnight">
<constructor-arg ref="quest"/>
</bean>
通过应用上下文(Application Context)装载Bean的定义
ApplicationContext context= new ClassPathXmlApplicationContext("knight.xml");
Knight knight = (Knight) context.getBean("knight");
AOP: Aspect-oriented Programming 应用切面编程--分离成可重用的组件.
Spring容器:Bean factories,最简单的容器
应用上下文:基于Bean factories之上,提供面向应用的服务。
ClassPathXmlApplicationContext——类路径下的xml文件
FileSystemXmlApplicationContext——绝对路径下的xml文件
XmlWebApplicationContext——web应用下的xml文件
Spring框架(分类比较杂,常见的有如下)
1. AOP模块
2. DAO模块(data access object)
ORM: object-relational mapping 对象关系映射
把关系型数据库中的关系数据映射成为程序中的对象。
3. web模块
4. spring mvc
*************************************************************************************
第二章 装配Bean
构造器注入
<bean id="duke" class="test.Duke">
<constructor-arg value="15"/><!-- 注意 如果注入另一个bean,需用 ref, not value-->
</bean>
通过工程方法创建bean
-- 可以把没有公开构造函数的类配置为一个bean
<bean id="singleton" class="test.Singleton“ factory-method=”getInstance"/>
Bean的作用域
singleton (默认)在每个Spring IoC容器中一个bean定义对应一个对象实例。
prototype 一个bean定义对应多个对象实例。
request 在一次HTTP请求中,一个bean定义对应一个实例;即每次HTTP请求将会有各自的bean实例, 它们依据某个bean定义创建而成。该作用域仅在基于web的Spring
ApplicationContext
情形下有效。session 在一个HTTP
Session
中,一个bean定义对应一个实例。该作用域仅在基于web的SpringApplicationContext
情形下有效。global-session 在一个全局的HTTP
Session
中,一个bean定义对应一个实例。典型情况下,仅在使用portlet context的时候有效。该作用域仅在基于web的SpringApplicationContext
情形下有效。
Spring In Action(第三版)读书笔记的更多相关文章
- Linux设备驱动程序 第三版 读书笔记(一)
Linux设备驱动程序 第三版 读书笔记(一) Bob Zhang 2017.08.25 编写基本的Hello World模块 #include <linux/init.h> #inclu ...
- effective java(第三版)---读书笔记
第一章 引言 < Effective Java>这本书并不厚,而且并不适合初学者,适合有一定的工作经验的java攻城狮.这本书不是百科全书式的JAVA 手册,而是试图在讲述如何正确.高效地 ...
- javaScript高程第三版读书笔记
看完<dom编程艺术>现在准备读进阶版的js高程了,由于篇幅较长,所以利用刚看完<dom编程艺术>学到的知识写了段JavaScript代码,来折叠各章的内容.并且应用到了< ...
- 《ECMAScript6标准入门》第三版--读书笔记
2015年6月,ECMAScript 6正式通过,成为国际标准.尽管在目前的工作中还没有使用ES6,但是每项新技术出来总是忍不住想尝尝鲜,想知道ES6能为前端开发带来哪些变化?对自己的工作有哪些方面可 ...
- JavaScript高级程序设计第三版-读书笔记(1-3章)
这是我第一次用markdown,也是我第一次在网上记录我自己的学习过程. 第一章 JavaScript主要由以下三个不同的部分构成 ECMAScript 提供核心语言功能 DOM 提供访问 ...
- CSS权威指南-第三版--读书笔记
第一章:CSS和文档 html是结构化语言,css是样式语言,html主要用来被强大的搜索引擎更好的索引,更好的让一个盲人通过语音浏览器来了解我们的网页,这也就是为什么说html是结构话语言,因为这是 ...
- CLR.via.C#第三版 读书笔记
第一章 CLR的执行模型 1.1将源代码编译成托管代码 决定将.NET Framework作为自己的开发平台之后,第一步是决定要生成什么类型的应用程序或组件.假定你已经完成了这些次要的细节:一切都已经 ...
- 9Andrew.S.Tanenbaum计算机网络第三版读书笔记-总体概览
- 高性能mysql第三版读书笔记3
innodb以前不支持高并发,在搞病房下就是悲剧,全部卡在mutex(缓冲池mutex)上,现在通过线程调度器控制线程怎么进入内核访问数据,参数为innodb_thread_concurrency,它 ...
- LINUX内核设计与实现第三周读书笔记
LINUX内核设计与实现第三周读书笔记 第一章 LINUX内核简介 1.1 Unix的历史 1969年的夏天,贝尔实验室的程序员们在一台PDR-7型机上实现了Unix这个全新的操作系统. 1973年, ...
随机推荐
- Vi 的基本使用
一.Vi入门 Unix 提供了全屏幕的Vi编辑器,这使我们的工作轻松不少.不少DOS用户抱怨Vi编辑器不象DOS下的编辑器如edit那么好用,这 是因为Vi考虑到各种用户的需要,没有使用某些通用的编 ...
- DNS原理
DNS 是互联网核心协议之一.不管是上网浏览,还是编程开发,都需要了解一点它的知识. 本文详细介绍DNS的原理,以及如何运用工具软件观察它的运作.我的目标是,读完此文后,你就能完全理解DNS. 一.D ...
- [插件]jQuery multiselect初始化及默认值修改
下载地址:http://pan.baidu.com/s/1dE2daSD 1.Jquery多选下拉列表插件jquery multiselect功能介绍及使用 http://www.jb51.net/a ...
- Linux命令中特殊符号
转自:http://blog.chinaunix.net/uid-16946891-id-5088144.html 在shell中常用的特殊符号罗列如下:# ; ;; . , / \ 'strin ...
- windows操作技巧
-------------------win7专有------------------- WIN+上下左右可以将当前窗口 最大化.左侧放置.右侧放置.最小化 WIN+Shift+左右是让窗口在多个屏幕 ...
- cmder
添加cmder到右键菜单 Cmder.exe /REGISTER ALL 打开配置快捷键 win+alt+p 文字重叠 main->font->去掉monospace的勾 λ符号修改 找到 ...
- js 节点 document html css 表单节点操作
js 节点 document html css 表单节点操作 节点操作:访问.属性.创建 (1)节点的访问:firstChild.lastChild.childNodes.parentChild(父子 ...
- php 接受处理二进制数据流并保存成图片
<form action="提交到处理地址" method="post" enctype="multipart/form-data" ...
- phpcms v9 wap内容页内容显示方法
phpcms v9的wap手机门户的问题解决 默认的{$content}标签假如内容页一开始输入的不是html代码的话会出现调用不出来的情况,这里用{$rs['content']} 来调用则可以解决问 ...
- hdu 4038 2011成都赛区网络赛H 贪心 ***
贪心策略 1.使负数为偶数个,然后负数就不用管了 2.0变为1 3.1变为2 4.2变为3 5.若此时操作数剩1,则3+1,否则填个1+1,然后回到5