1.spring所做的一切都是为了简化java开发。

2.为了降低java开发的复杂性,spring采取了以下4种关键策略:

1).基于POJO的轻量级和最小侵入性编程.

2).通过依赖注入和面向接口实现松耦合.

3).基于切面和惯例进行声明式编程.

4).通过切面和模板减少样板式代码.

3. Spring通过应用上下文(Application Context)装载bean的定义并把它们组装起来。Spring应用上下文全权负责对象的创建和组装。Spring自带了多种应用上下文的实现,它们之间主要的区别仅仅在于如何加载装置。

4.  ClassPathXmlApplicationContext作为应用上下文,很适合加载位于应用程序类路径下的一个或多个xml配置文件。

5.  DI能够让相互协作的软件组件保持松散耦合,而面向切面编程(aspect-oriented programming, AOP)允许你把遍布应用各处的功能分离出来形成可重用的组件。

6.  把切面想象为覆盖在很多组件之上的一个外壳。应用是由那些实现各自业务功能的模块组成的。 借助AOP, 可以使用各种功能层去包裹核心业务层。 这些层以声明的方式灵活地应用到系统中,你的核心应用甚至根本不知道它们的存在。这是一个非常
强大的理念, 可以将安全、 事务和日志关注点与核心业务逻辑相分离。

7. 容器是一个框架的核心。

8. Spring容器中的bean的生命周期显得相对复杂。 bean装载到Spring应用上下文中的一个典型的生命周期过程如下图所示:

1). Spring对bean进行实例化;
2). Spring将值和bean的引用注入到bean对应的属性中;
3). 如果bean实现了BeanNameAware接口, Spring将bean的ID传递给setBean-Name()方法;
4). 如果bean实现了BeanFactoryAware接口, Spring将调用setBeanFactory()方法, 将BeanFactory容器实例传入;
5). 如果bean实现了ApplicationContextAware接口, Spring将调用setApplicationContext()方法, 将bean所在的应用上下文的
引用传入进来;
6). 如果bean实现了BeanPostProcessor接口, Spring将调用它们的post-ProcessBeforeInitialization()方法;
7). 如果bean实现了InitializingBean接口, Spring将调用它们的after-PropertiesSet()方法。 类似地, 如果bean使用initmethod声明了初始化方法, 该方法也会被调用;
8). 如果bean实现了BeanPostProcessor接口, Spring将调用它们的post-ProcessAfterInitialization()方法;
9). 此时, bean已经准备就绪, 可以被应用程序使用了, 它们将一直驻留在应用上下文中, 直到该应用上下文被销毁;
10). 如果bean实现了DisposableBean接口, Spring将调用它的destroy()接口方法。 同样, 如果bean使用destroy-method声明
了销毁方法, 该方法也会被调用。

9. spring模块, spring框架的发布版本包括了20个不同的模块.

这些20个模块依据其所属的功能可以划分为6类不同的功能,如下图

spring:《spring实战》读后感一相关推荐

  1. Spring Security 实战干货:自定义异常处理

    Spring Security 实战干货:自定义异常处理 转自:https://www.cnblogs.com/felordcn/p/12142514.html 文章目录 1. 前言 2. Sprin ...

  2. spring boot 实战 / 可执行war启动参数详解

    概述   上一篇文章<spring boot 实战 / mvn spring-boot:run 参数详解>主要讲解了spring boot 项目基于maven插件启动过程中借助profil ...

  3. Spring Boot实战:过滤器、拦截器与切片

    Spring Boot实战:过滤器.拦截器与切片 Q:使用过滤器.拦截器与切片实现每个请求耗时的统计,并比较三者的区别与联系 过滤器Filter 过滤器概念 Filter是J2E中来的,可以看做是Se ...

  4. Spring Security 实战干货:OAuth2登录获取Token的核心逻辑

    作者 | 码农小胖哥 来源 | https://mp.weixin.qq.com/s/zdTBdSVunqwVGx-spHjLjw 1. 前言 在上一篇Spring Security 实战干货:OAu ...

  5. Spring Security 实战干货:OAuth2授权回调的核心认证流程

    1. 前言 我们在上一篇 Spring Security 实战干货:OAuth2 授权回调的处理机制 对 OAuth2 服务端调用客户端回调的流程进行了图解, 今天我们来深入了解 OAuth2 在回调 ...

  6. Spring Security 实战干货:客户端OAuth2授权请求的入口在哪里

    1. 前言 在Spring Security 实战干货:OAuth2 第三方授权初体验一文中我先对 OAuth2.0 涉及的一些常用概念进行介绍,然后直接通过一个 DEMO 来让大家切身感受了 OAu ...

  7. Spring Security 实战:基于配置的接口角色访问控制

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 码农小胖哥 来源 | 公众号「码农小胖哥」 1 ...

  8. Spring Security 实战干货: RBAC权限控制概念的理解

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 码农小胖哥 来源 | 公众号「码农小胖哥」 1 ...

  9. Spring Security 实战:使用 JWT 认证访问接口

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 1. 前言 欢迎阅读Spring Security 实战 ...

  10. Spring Security 实战:自定义异常处理

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 1. 前言 最近实在比较忙,很难抽出时间来继续更  [S ...

最新文章

  1. 二叉树(构造与遍历方法)
  2. 【工具】搜索引擎的高级搜索,提升搜索效率
  3. Apache - No space left on device / Failed to create proxy Mutex
  4. 使用tinylog 1.0简化您的日志记录
  5. 数据分析必备:掌握这个R语言基础包1%的功能,你就很牛了
  6. [知识整理]Linux系统WIFI知识的一些整理
  7. 实现 iOS UICollectionView的事件透传
  8. 2019.03.25 bzoj4539: [Hnoi2016]树(主席树+倍增)
  9. jmx.JmxAdminException
  10. 【从线性回归到BP神经网络】第二部分:线性回归
  11. 项目上线发布流程简介(不同公司流程规范不一样,仅供参考)
  12. 读《码农翻身:用故事给技术加点料》
  13. 淘宝运营的逻辑与本质是什么?
  14. [转]倾斜摄影单体化实现方案
  15. 永磁电机风力发电机原理及并网实验系统QY-TF18
  16. oracle级联 drop,请教:oralce自带主外键级联删除的原理?
  17. 2026-Keroro侵略地球
  18. SAP公司间外协业务流程以及配置说明
  19. ASCII码对照全表
  20. Telephony单元测试分析

热门文章

  1. Codeforces Round #520 (Div. 2)
  2. 【BZOJ4764】弹飞大爷 LCT
  3. [C# 设计模式] Adapter - 适配器模式(两种)
  4. [Android] Android开发优化之——对界面UI的优化(2)
  5. 5 个关于 API 中日期和时间设计规则
  6. toFixed()方法
  7. 网页3D效果库Three.js学习[二]-了解照相机
  8. 复制一个文件或者从一个资源获取一个文件并复制
  9. 内存是拿来用的不是拿来看的
  10. 新网站如何推广 新建设的网站如何宣传