前言

Spring作为JAVA中最流行的框架,当年横空出世的时候,是把JAVA从死亡边缘拉了回来。之前的JAVA类都需要自行管理的,导致在进行J2EE大型开发的时候完全力不从心,而且因为JAVA的继承特性,导致JAVA在大型系统中极其容易发生类爆炸,然后由此带来的类生命管理是极其让人头疼,加上让人头疼的JPA,所以JAVA大有式微之式。但Spring的出现完全扭转了这一切,JAVA凭借Spring不仅变得更加强大,也变得更加流行,成为编程语言的常驻霸主。

Spring类管理

Spring的神操作在于引入了bean池的概念。之前面对类爆炸,普通程序员是很难解决的,一层一层继承下来,叠千层饼是避免不了的。但Spring通过IOC和DI让普通程序员不再需要自行去管理类,可以说JVM解放了内存管理,Spring解放了类管理

IOC&DI&Bean池

Bean是豌豆荚的意思,这个词用在Spring类管理是极其精准且形象的,简直让人拍案叫绝!上过高中的同学想必对孟德尔豌豆杂交很熟悉,其中的显隐性概率计算时常让人怀疑自己做了张数学卷。但今天我们不是来讨论概率的,而是明白为啥Spring的类管理叫做Bean池。豌豆荚打开里面是一排的豆子,而在Spring的Bean池也是如此,只不过豌豆只是豆子,而Spring里面是类。而类之间的相互引用是通过DI(依赖注入)来实现的,也就是我们常用的@Autowire注解,注入的方式有几种,比如set,构造方法,类型等等。这样我们只通过了一个注解就实现了类之间的相互依赖,而且简洁明了。
Bean池还带来了一个好处就是单例模式,Bean池里面的类默认都是单例的,也就是只New一个对象,这个对象放着,要干活的时候就叫他过来,这样就很大程度上避免了类爆炸带来的JVM负担。
而这种把对类的控制权由类内部转换成Spring就叫做DI(控制反转)。

Spring 类管理机制相关推荐

  1. Spring 事务管理机制概述

    摘要: 一般地,用户的每次请求都对应一个业务逻辑方法,而一个业务逻辑方法往往包括一系列数据库原子访问操作,并且这些数据库原子访问操作应该绑定成一个事务来执行.然而,在使用传统的事务编程策略时,程序代码 ...

  2. Spring事务管理机制

    Spring事务管理的四个优点: 提供一致的对于不同的事务管理的API 支持声明式事务管理(重点) 编程事务管理(在开发中应用比较少) 优秀的整合与Spring的数据访问 我们重点讲解spring的事 ...

  3. Java类管理机制——包的详解

    目录 前言: 一.包的概念 二.包的定义 (1)语法 (2)命名规则 (3)命名规范 三.包的引用 (1)加载需要使用的类 (2)加载整个包 (3)直接使用包名.类名作为前缀 (4)常用包 四.Cla ...

  4. Spring:事务管理的四大特性,事务管理机制

    1:认识事务 可以把一系列要执行的操作称为事务,而事务管理就是管理这些操作要么完全执行,要么完全不执行(很经典的一个例子是:A要给B转钱,首先A的钱减少了,但是突然的数据库断电了,导致无法给B加钱,然 ...

  5. Spring jdbc Template和Spring 事务管理

    使用jdbcTemplate完成增删改查操作(重点) package com.it.jdbctemplate;import java.util.List;import org.junit.Test; ...

  6. Spring事务管理嵌套事务详解 : 同一个类中,一个方法调用另外一个有事务的方法

    Spring 事务机制回顾 Spring事务一个被讹传很广说法是:一个事务方法不应该调用另一个事务方法,否则将产生两个事务.  结果造成开发人员在设计事务方法时束手束脚,生怕一不小心就踩到地雷.    ...

  7. Spring入门5.事务管理机制

    Spring入门5.事务管理机制 20131126 代码下载 : 链接: http://pan.baidu.com/s/1kYc6c 密码: 233t 回顾之前的知识,Spring 最为核心的两个部分 ...

  8. Spring 框架基础(05):事务管理机制,和实现方式

    本文源码:GitHub·点这里 || GitEE·点这里 一.Spring事务管理 1.基础描述 Spring事务管理的本质就是封装了数据库对事务支持的操作,使用JDBC的事务管理机制,就是利用jav ...

  9. spring配置mysql事务管理_Spring 数据库事务管理机制

    要点1 Spring事务管理方法编程式事务(TransactionTemplate.PlatformTransactionManager) 声明式事务(配置式.注解式) 2 Spring 注解 @Tr ...

最新文章

  1. 显著性目标检测代码全汇总!(包含2D、3D、4D以及Video)
  2. workbench 流固耦合_基于Workbench的流固耦合作用下三通管振动特性分析
  3. bootstrap模态框
  4. 【转载】C++读写ini配置文件GetPrivateProfileString()WritePrivateProfileString()
  5. 编码器 stm32_STM32榨干编码旋钮(第一期)
  6. Java开发环境搭建及开发软件和服务器安装与配置
  7. 获取邮箱的DNS和MX 工具类
  8. 计算机控制摄像头拍照,ECap(win7及XP摄像头功能增强工具)
  9. 如何由网址查找IP地址
  10. Linux ARM平台开发系列讲解(摄像头V4L2子系统) 2.12.4 V4L2子设备操作函数结构体分析
  11. 魔兽世界燃烧的远征服务器状态,6月2日加入“燃烧的远征” 立刻了解《魔兽世界》经典怀旧服的服务器抉择...
  12. OSM(OpenStreetMap)使用简述
  13. 前端基础学习-element-ui表格表头做成斜线表头
  14. 【牛客】网易2018校招数据分析师笔试解析
  15. 行为识别笔记:iDT算法用法与代码解析
  16. 10个小技巧,让你的谱面更专业
  17. DS_Store 是什么文件
  18. 改进的粒子滤波算法及其应用研究(Matlab代码实现)
  19. [心情驿站]喝一碗孟婆汤,走一遍奈何桥(flash版)(转载)
  20. android上传图片到PHP后台全过程

热门文章

  1. 学生对象数组实现按年龄排序 按成绩排序1022
  2. 名词解释 JDK JRE JVM
  3. django-url映射给函数给默认值
  4. jquery-ajax的同步与异步
  5. 狄慧201771010104《面向对象程序设计(java)》第十周学习总结
  6. 威胁情报的几个关键概念
  7. oracle手动删除数据库
  8. Android 自动补全提示输入AutoCompleteTextView、 MultiAutoCompleteTextView
  9. webdynpro 组件重用 传值问题
  10. sql右下角图标工具