一、IOC(Inversion of Control):控制反转

  (1)Spring Core最核心部分

  (2)需要先了解依赖注入(Denpendency Injection)/把底层类作为参数传递给上层类,实现上层对下层的“控制”

  1.IOC、DI、DL的关系:

          2.IOC容器的优势

    (1)避免在各处使用new来创建类,并且可以做到统一维护

    (2)创建实例的时候不需要了解其中的细节

  3.Spring IOC支持的功能

    (1)依赖注入  (2)依赖检查  (3)自动装配  (4)支持集合

    (5)制定初始化方法和销毁方法  (6)支持回调方法

二、Spring IOC 容器的核心接口:

  1.BeanFactory

    (1)提供IOC的配置机制

    (2)包含Bean的各种定义,便于实例化Bean

    (3)建立Bean之间的依赖关系

    (4)Bean生命周期的控制

  2.ApplicationContext的功能(继承多个接口)

    (1)Bean Factory:能够管理、装配Bean

    (2)ResourcePatternResolver:能够加载资源文件

    (3)MessageSource:能够实现国际化等功能

    (4)ApplicationEventPublisher:注册监听器,实现监听机制

  3.getBean方法的代码逻辑

    (1)转化beanName

    (2)从缓存中加载实例

    (3)实例化Bean

    (4)检测parentBeanFactory

    (5)初始化依赖Bean

    (6)创建Bean

  4.Spring Bean的作用域

    (1)Singleton:Spring默认作用域,容器里拥有唯一的Bean实例

    (2)prototype:针对每个getBean请求,容器都会创建一个Bean实例

    (3)request:为每个Http请求创建一个Bean实例

    (4)session:为每个Session创建一个Bean实例

    (5)globalSession:会为每个全局Http Session创建一个Bean实例,该作用域仅对Portlet有效

  5.Spring Bean 的生命周期

    (1)创建过程:

    (2)销毁过程:a.若实现了DisposableBean接口,则会调用destroy方法

             b.若配置了destroy-method属性,则会调用其配置的销毁方法

三、AOP

  1.AOP的三种织入方式

    (1)编译时织入:需要特殊的编译器,如AspectJ

    (2)类加载时织入:需要特殊的编译器,如AspectJ和Aspectwerkz

    (3)运行时织入:Spring采用的方式,通过动态代理的方式

  2.Advice的种类

    (1)前置通知(Before)  (2)后置通知(AfterReturning)  (3)异常通知(AfterThrowing)

    (4)最终通知(After)  (5)环绕通知(Around)

  3.AOP的实现:JdkProxy和Cglib

    (1)由AopProxyFactory根据AdvisedSupport对象的配置来决定

    (2)默认策略如果目标类是接口,则用JDKProxy来实现,否则用后者

    (3)JDKProxy的核心:InvocationHandler接口和Proxy类

    (4)Cglib:以继承方式动态生成目标类的代理

    JDKProxy:通过java的内部反射机制实现(反射机制在生成类的过程中比较高效)

    Cglib:借助ASM实现(ASM在生成类之后的执行过程中比较高效)

四、Spring事务

  (1)ACID

  (2)隔离级别

  (3)事务传播

    

    

      

Spring重要知识点整理的更多相关文章

  1. 2019年Spring核心知识点整理,看看你掌握了多少?

    前言 如今做Java尤其是web几乎是避免不了和Spring打交道了,但是Spring是这样的大而全,新鲜名词不断产生,学起来给人一种凌乱的感觉,在这里总结一下,理顺头绪. Spring 概述 Spr ...

  2. Spring MVC知识点整理

    网上Spring MVC相关知识点的介绍已经有很多了,但是大部分文章都是介绍其中的一部分知识点. 本文希望能够向读者做一个基本整体的介绍,首先我们先来了解下Spring MVC的基础接口和组件.   ...

  3. Spring MVC 知识点整理

    extend:http://www.jianshu.com/p/bef0e52067d2 1. Redis 存储方式 Redis存储机制分成两种Snapshot 和 AOF.无论是那种机制,Redis ...

  4. Spring IOC知识点一网打尽!

    前言 只有光头才能变强 回顾前面: 给女朋友讲解什么是代理模式 包装模式就是这么简单啦 单例模式你会几种写法? 工厂模式理解了没有? 在刷Spring书籍的时候花了点时间去学习了单例模式和工厂模式,总 ...

  5. JSP页面开发知识点整理

    刚学JSP页面开发,把知识点整理一下. ----------------------------------------------------------------------- JSP语法htt ...

  6. JAVA 150道笔试题知识点整理

    JAVA 笔试题 整理了几天才整理的题目,都是在笔试或者面试碰到的,好好理解消化下,对你会有帮助,祝你找工作顺利,收到满意的 offer . 1.Java 基础知识 1.1 Java SE 语法 &a ...

  7. Spring JdbcTemplate用法整理

    Spring JdbcTemplate用法整理: xml: <?xml version="1.0" encoding="UTF-8"?> <b ...

  8. ACM个人零散知识点整理

    ACM个人零散知识点整理 杂项: 1.输入输出外挂 //读入优化 int 整数 inline int read(){ int x=0,f=1; char ch=getchar(); while(ch& ...

  9. Android 零散知识点整理

    Android 零散知识点整理 为什么Android的更新试图操作必须在主线程中进行? 这是因为Android系统中的视图组件并不是线程安全的.通常应该让主线程负责创建.显示和更新UI,启动子线程,停 ...

随机推荐

  1. 原创《分享(Angular 和 Vue)按需加载的项目实践优化方案》

    针对前端优化的点有很多,例如:图片压缩,雪碧图,js/css/html 文件的压缩合并,  cdn缓存, 减少重定向, 按需加载 等等 最近有心想针对 ionic项目 和 vue项目,做一个比较大的优 ...

  2. BZOJ 4195: [Noi2015]程序自动分析 并查集+离散化

    LUOGU 1955BZOJ 4195 题目描述 在实现程序自动分析的过程中,常常需要判定一些约束条件是否能被同时满足. 考虑一个约束满足问题的简化版本:假设x1,x2,x3...代表程序中出现的变量 ...

  3. Excel导出采用mvc的ExcelResult继承遇到的问题

    ExcelResult继承:ViewResult(只支持excel版本2003及兼容2003的版本)通过视图模板生成excel /// <summary> /// ms-excel视图 / ...

  4. FJOI2019 划水记

    Day0 月考的余温尚未褪去,一周后期中考也将来临.一群被哄来打FJOI的水军,在期中大考必过前一百的死命令之下,仍然不怕死的花三天时间水同步赛.试机的路上乖乖排成两排,居然还有那么一丝春游的悠闲之感 ...

  5. ZJOI2019游记

    Day-2 本蒟蒻有幸能去参加ZJOI2019,然而出发前就做好了爆0的准备. 坐了差不多6,7个小时的车,车上基本就是在颓知乎和打雀,然后就到了酒店. 招宝山酒店--本人住过的第一个四星级酒店,看上 ...

  6. 什么是,session、cookies、token

    在一片文章上看到关于cookies和session 的解释,大概意思是这样的. 说你去星巴克喝咖啡,你平均一星期去两次,你的操作是看菜单,点咖啡.结账 加入你三星期不去,店员也许不及得你了,你依旧需要 ...

  7. 雷林鹏分享:jQuery EasyUI 数据网格 - 格式化列

    jQuery EasyUI 数据网格 - 格式化列 以下实例格式化在 easyui DataGrid 里的列数据,并使用自定义列的 formatter,如果价格小于 20 就将文本变为红色. 为了格式 ...

  8. Python 入门小实例笔记

    实例1:打印用户输入的姓名与手机号码知识点:编码,获取输入,变量,标准输出 #encoding=utf-8 import time #1.提示用户输入信息 name = input ("请输 ...

  9. 小程序tab切换 点击左右滑动

    wxml <scroll-view scroll-x="true" class="navbar-box"> <block wx:for=&qu ...

  10. java.lang.IllegalStateException: ApplicationEventMulticaster not initialized - call 'refresh' before multicasting events via the context 错误

    spring boot 项目启动报错:原因一般是注入了相同名字的service -- :: com.gxcards.mes.MainWwwWeb: logStartupProfileInfo INFO ...