spring实战3.0 第一部分spring的核心 要点记录
来源:互联网 发布:网络打鱼游戏平台 编辑:程序博客网 时间:2024/06/06 03:03
用了一周的时间断断续续的把这本书的基础部分看完,担心自己没什么印象决定记一下笔记,记录一些要点。
主要讲了两个概念:DI(依赖注入)、AOP(切面编程)
DI(构造器注入)
紧密耦合的代码:难以测试、难以复用、难以理解,而完全没有耦合的代码什么也做不了。而依赖注入就是为了解决这方面的问题的。
如果一个对象只通过接口(而不是具体实现或初始化的过程)来表明依赖关系,那么这种依赖就能够在对象本身毫不知情的情况下用不同的具体实现来替换。
AOP 想象为覆盖在很多组件上的一个外壳。
我觉得书中的这两个图很明确的介绍了什么是AOP
spring容器主要分为两类:Bean工厂和应用上下文(application context)
getbean 有两种方式:通过构造器注入对象引用;通过工厂方法创建bean(既没有构造器通过静态方法创建)factory-method=“ ”;
注入bean属性:通过调用属性的setter方法注入,<constructor-arg>\<property name=" " value=" "/ref=" ">\<p:shuxing=" "\p:shuxing-ref=" ">
springBean 默认是单例模式,可以自己设置范围
内部bean仅适用于一次注入,而且不能被其他bean引用
应用注解自动装配bean
有四种类型:byname\bytype\construstor\autodetect 在xml中可用default-autowire 需要添加 <context : annotation-config>
String 标识的缺点是它们无法进行编译期间检查,spring都会拦截方法的调用,并尝试在应用上下文查找该bean,而不是让方法创建一个新实例。
@Autowired(required=false)//bean 可以不存在
自动检测bean
<context : component-scan>
<context : include-filter>
<context : exclude-filter>
依赖注入有助于应用对象之间的解耦,而AOP可以实现横切关注点与它们所影响的对象之间的解耦。
术语:advice 通知、pointcut 切点、joinpoint 连接点
比如通知管的是何时,什么,那么切点管的是何处,切面是通知和切点的结合(什么、何时、何处)、一个切点可以管着很多连接点
引入(Introduction)允许我们向现有的类添加新方法或属性
织入(weaving)是将切面应用到目标对象来创建新的代理对象的过程
创建切点来定义切面织入的连接点是AOP框架的基本功能
spring只支持方法连接点(因为spring动态代理)不支持字段和构造器
proxy factory 代理工厂
- spring实战3.0 第一部分spring的核心 要点记录
- Spring 实战4 第一部分 Spring核心
- Spring实战笔记(一):Spring的核心
- Spring部分注解记录
- Spring Cloud 核心综合实战
- 第一部分:spring框架概述
- 第一部分:spring框架概述
- spring MVC controller 的单元测试 第一部分:配置
- 自己实现spring核心IOC部分
- 《03.Spring Boot实战:核心原理剖析》
- Spring的核心
- Spring 的核心容器
- spring的核心监听器
- spring的核心模块
- Spring的核心概念
- spring batch(二):核心部分(2)Spring batch的启动
- spring batch(二):核心部分(2)Spring batch的启动
- Spring在配置Shiro 关于AOP的部分记录
- 34-二维数组与二维指针
- 查看、修改Xcode自带快捷代码块快捷键,及Xcode自带swift常用快捷代码块对照表
- ubuntu14.04 install sudo apt-get install gdb-arm-none-eabi err
- 大型网站之分布式会话管理
- swiper隐藏后再显示不会触发自动播放解决办法
- spring实战3.0 第一部分spring的核心 要点记录
- IndicatorViewPager 不显示图片问题
- 最小二乘法简介
- SVG系列 — 动画元素<animate>
- Xcode 控制台输出不全 ,NSLong输出小技巧,NSLog输出中文,json格式错误
- sbt使用详解
- 《java高并发程序设计》读书笔记(3)
- python中csv文件的读写
- Android历史版本及和eclipse基本区别