细聊Spring-

如题所述

第1个回答  2022-08-24
1、什么是Spring

Spring就是一个java写的框架,使用java语言开发的, 轻量级的, 开源的框架。 可以在j2se、j2ee项目中都可以使用。

Spring核心技术: ioc, aop

Spring又叫做:容器, spring作为容器, 装的是java对象。 可以让spring创建java对象, 给属性赋值。

Spring作用: 实现解耦合, 解决java对象之间的耦合, 解决模块之间的耦合。

总结: Spring最大的特点就是帮你创建对象,不需要你在代码中手动的去new,而是只要你告诉Spring的容器,你要的对象的名字,Spring容易就会自动给你了。就好比如你想吃一个东西,你不需要自己手动的去做,你可以去餐厅里面,告诉服务员你想吃的菜的名字,那么服务员就可以给你上菜了。

Spring也像一艘航空母舰,虽然它本身没有什么作战能力。但是它的甲板上可以容纳很多舰载机,具体作战任务可以让这些舰载机去执行。舰载机就像是其它框架的核心对象,比如nybatis的SqlSession对象。Spring可以管理这些核心的对象。

2、Spring的有点

Spring 是一个框架,是一个半成品的软件。有 20 个模块组成。它是一个容器管理对象,容器是装东西的,Spring 容器不装文本,数字。装的是对象。Spring 是存储对象的容器。

(1) 轻量 Spring 框架使用的 jar 都比较小,一般在 1M 以下或者几百 kb。Spring核心功能的所需的 jar 总共在 3M 左右。 Spring 框架运行占用的资源少,运行效率高。不依赖其他 jar

(2) 针对接口编程,解耦合 Spring 提供了 Ioc 控制反转,由容器管理对象,对象的依赖关系。原来在程序代码中的对象创建方式,现在由容器完成。对象之间的依赖解耦合。

(4) 方便集成各种优秀框架 Spring 不排斥各种优秀的开源框架,相反 Spring 可以降低各种框架的使用难度,Spring 提供了对各种优秀框架(如 Struts,Hibernate、MyBatis)等的直接支持。简化框架的使用。Spring 像插线板一样,其他框架是插头,可以容易的组合到一起。需要使用哪个框架,就把这个插头放入插线板。不需要可以轻易的移除。

3、IoC 控制反转

3.1IoC分为 控制和反转

反转:把开发人员管理对象的权限转移给了代码之外的容器实现。 由容器完成对象的管理。

正转:开发人员在代码中, 使用 new 构造方法创建对象。 开发人员掌握了对象的创建,属性赋值,对象从开始到销毁的全部过程。 开发人员有对 对象 全部控制。

通过容器,可以使用容器中的对象(容器已经创建了对象, 对象属性赋值了, 对象也组装好了)。

Spring就是一个容器,可以管理对象,创建对象,给属性赋值。

3.1IoC的技术实现

DI ( 依赖注入) :Dependency Injection, 缩写是DI . 是IoC的一种技术实现。 程序只需要提供要使用的对象的名称就可以了, 对象如何创建, 如何从容器中查找,获取都由容器内部自己实现。

Spring框架使用的DI实现IoC.通过spring框架, 只需要提供要使用的对象名词就可以了。 从容器中获取名称对应的对象。spring底层使用的 反射机制, 通过反射创建对象,给属性。
相似回答