1. 控制反转IoC

Spring的核心功能就是IoC,将类与类的依赖关系写在配置文件中,程序在运行时根据配置文件动态加载依赖的类,降低的类与类之间的藕合度。
具体来说就是,在applicationContext.xml加入bean标记,在bean标记中通过class属性说明具体类名、通过property标签说明该类的属性名、通过constructor-args说明构造方法的参数。当通过applicationContext.getBean(“bean的id名称”)得到一个类实例时,就是以bean标签的类名、属性名、构造方法的参数为基础,通过反射的方式来实例对象,唤起对象的set方法设置属性值、通过构造方法的newInstance实例化得到对象。
关于反射机制,可以参看Java知识整理——反射。

2. 面向切面编程AOP

第二大功能就是AOP,其机理来自于代理模式,代理模式有三个角色分别是通用接口、代理、真实对象。代理、真实对象实现的是同一接口,将真实对象作为代理的一个属性,向客户端公开的是代理,当客户端调用代理的方法时,代理找到真实对象,调用真实对象方法,在调用之前之后提供相关的服务,如事务、安全、日志。

Spring工作原理分析相关推荐

  1. Spring工作原理与单例ThreadLocal

    最近看到spring管理的bean为单例的,当它与web容器整合的时候始终搞不太清除,就网上搜索写资料, Tomcat与多线程 servlet是多线程执行的,多线程是容器提供的能力. servlet为 ...

  2. Spring事务原理分析(一)--@EnableTransactionManagement 到底做了什么?

    目录 一.概述 二.事务的ACID属性 三.事务的隔离级别 四.事务的传播行为 五.Spring声明式事务环境搭建 六.@EnableTransactionManagement分析 七.AutoPro ...

  3. spring ioc原理分析

    spring ioc原理分析 spring ioc 的概念 简单工厂方法 spirng ioc实现原理 spring ioc的概念 ioc: 控制反转 将对象的创建由spring管理.比如,我们以前用 ...

  4. 浅谈:Spring Boot原理分析,切换内置web服务器,SpringBoot监听项目(使用springboot-admin),将springboot的项目打成war包

    浅谈:Spring Boot原理分析(更多细节解释在代码注释中) 通过@EnableAutoConfiguration注解加载Springboot内置的自动初始化类(加载什么类是配置在spring.f ...

  5. RxJs map operator 工作原理分析

    使用一个例子来研究 map 操作符的工作原理. 推荐阅读本文之前,先浏览这篇文章RxJs fromEvent 工作原理分析以了解相关知识. 源代码: import { Component, OnIni ...

  6. Hadoop生态圈-Zookeeper的工作原理分析

    Hadoop生态圈-Zookeeper的工作原理分析 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.   无论是是Kafka集群,还是producer和consumer都依赖于Zoo ...

  7. 原理剖析(第 009 篇)ReentrantReadWriteLock工作原理分析

    2019独角兽企业重金招聘Python工程师标准>>> 原理剖析(第 009 篇)ReentrantReadWriteLock工作原理分析 一.大致介绍 1.在前面章节了解了AQS和 ...

  8. 匿名突破网络限制 (Tor工作原理分析)

    转载自:http://blog.163.com/mike_gz/blog/static/247532200672932800/ 网管顾名思义,就是天天管着网络.想尽各种手段限制我们上网的人.在网络中订 ...

  9. 面试中问的话题Spring工作原理

    Spring工作原理 内部最核心的就是IOC了,  动态注入,让一个对象的创建不用new了,可以自动的生产,这其实就是利用java里的反射  反射其实就是在运行时动态的去创建.调用对象,Spring就 ...

最新文章

  1. Windows10下安装配置 perl 环境
  2. Linux系统服务(systemctl)的使用
  3. python3练习-装饰器
  4. why在重写equals时还必须重写hashcode方法
  5. python web开发-flask中response,cookies,session对象使用详解
  6. 脚本配置文件(通过一个案例解释下什么叫脚本配置文件)
  7. EXCEL中提取某行最后一个有效单元格数据
  8. jquery事件重复绑定的几种解决方法 (二)
  9. Unit Three-Program test
  10. python多任务-线程
  11. 4.8 数值分析: 牛顿迭代法及收敛分析
  12. WinHex自定义模板
  13. 易福门SM6004电磁流量计
  14. 漏洞四处,苹果电脑也不再安全?(转)
  15. Android开发一个简单的交互式App
  16. BGP Aggregation – Suppress Map
  17. 使用 Nginx 部署前后端分离项目,解决跨域问题
  18. 计算机一级照片提取,iCloud里面的照片怎么在电脑上提取
  19. 自学前端设计——【开源骚客】FPGA超详细入门视频教程
  20. 弗吉尼亚理工计算机科学排名,弗吉尼亚理工大学计算机科学硕士排名第46(2020年TFE Times排名)...

热门文章

  1. 【数据结构】二叉树的存储和遍历
  2. (HDU4324)判断一个图中是否存在两点的出度相同
  3. 数据结构实验二:迷宫的求解
  4. mysql_ping与mysql长连接
  5. (十二)boost库之多线程高级特性
  6. gh0st支持win7和win8
  7. 秒杀多线程第十五篇 关键段,事件,互斥量,信号量的“遗弃”问题
  8. 深度好文:Linux操作系统内存
  9. Kafka分区分配策略(1)——RangeAssignor
  10. MySQL高级之explain详解