飞道的博客

Spring(ioc和di)简介

440人阅读  评论(0)

一、spring(春天) ----软件界的艺术品

官网 :https://spring.io

1.spring是一个开源框架
2.spring是分层的java EE、一站式轻量级框架。

分层的java EE: 持久层: --mybatis 视图层: – jsp /servlet 控制层: --servlet 一站式:
java EE每层都有解决方案 轻量级:spring无侵入式 (低耦合,高内聚) GA:General
Availability,正式发布的版本,官方推荐使用此版本。在国外都是用GA来说明release版本的。 PRE: 预览版,内部测试版.
主要是给开发人员和测试人员测试和找BUG用的,不建议使用; SNAPSHOT: 快照版,可以稳定使用,且仍在继续改进版本

二、spring 核心

 ioc di
 aop
 事务管理
 webFlux --最新的mvc框架

三、控制反转IOC (inverse Object cotroller)

即创建对象的反转控制。:把对象的创建权限交给Spring容器,让spring帮我们实例化对象,我们只是从spring容器中取得实例

以前:做鞋子–手工作坊 (自己new对象)

 效率低
 每个细节都要关注
 成本高----人力 ,时间

现代:工厂 (spring bean工厂—new对象)

 效率高
 不需要关注每个细节,机器
 成本低

反转控制IOC (Inversion Of Control) 即创建对象的反转控制。把对象的创建权限交给Spring容器,让spring帮我们实例化对象,我们只是从spring容器中取得实例

控制谁? 控制new 对象
反转什么? 反转new对象权利(程序员-->spring)
谁控制谁的反转?spring 控制new对象的权利 ,不再由程序员来控制

依赖注入DI(Dependency Injection ) 依赖了spring容器注入的那个对象(在spring配置文件中,将其中一个bean依赖注入到另一个bean中)。

DI的方式一般有三种:

1构造器注入

使用方式: 在构造方法中声明需要注入的对象,构造方法的参数列表就是需要注入的对象列表。

例:
1)根据参数名进行注入

2)根据参数下标进行注入

2 Setter方法注入:

使用方式: 在类中增加需要被注入对象的getter/setter方法。

例:
1)当参数为普通类型时直接可以引用:

2)当参数为引用类型时:

3)当参数为数组时:

4)当参数为集合时:

5)当参数为map时:

3接口注入

需要实现某一个用于注入对象的接口,该接口定义有注入对象的方法,方法参数就是需要被注入的对象。

bean的属性

id/name bean的唯一标示
id是bean的唯一标示
name也是bean唯一标示
bean的id和name属性 ,可以同时写
getBean根据id获取bean,获取不到根据name来,name获取不到就报错

建议:一般建议使用id指定bean的唯一标示

转载:https://blog.csdn.net/Lans2716/article/details/111216250
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场