spring--ioc详细介绍

   日期:2020-08-20     浏览:108    评论:0    
核心提示:spring主要学习AOP和IOC概念IOC :inverse of control 控制反转或者依赖注入控制反转:从主动实例化对象,转换到被动获取对象(spring用的反射技术实现)依赖注入:需要什么对象,容器就注入什么对象ioc主要是用来实现对象装配的,比如controller调用service,controller中的service对象要来自容器,也就是容器要把service对象装配到controller中。spring框架根据set方法(设值注入)或者构造函数实现对象的注入(构造

spring主要学习AOP和IOC概念

IOC :inverse of control 控制反转或者依赖注入
控制反转:从主动实例化对象,转换到被动获取对象(spring用的反射技术实现)
依赖注入:需要什么对象,容器就注入什么对象
ioc主要是用来实现对象装配的,比如controller调用service,controller中的service
对象要来自容器,也就是容器要把service对象装配到controller中。spring框架根据set方法(设值注入)或者构造函数实现对象的注入(构造注入)。
其实工作中很少使用构造注入和设值注入,用自动装配多点

自动装配(使用注解)?
spring会判断你需要什么类型的对象,然后不用你配置,直接给你实现注入
默认是根据type实现注入的
例如:UserController 需要UserService实例
那么容器会自动搜索对应类型的service实例,自动的装配到UserController

ioc

IOC :inverse of control 控制反转或者依赖注入
控制反转:从主动实例化对象,转换到被动获取对象

例子:需要一个对象,之前是写代码Person p =new Person() 得到一个对象
有了spring 之后,只需要从spring 容器中获取即可
spring容器在我们拿对象的时候已经帮我们实例化好了,直接拿即可
这样做的目的就是解耦合,类跟对象实现解耦合,传过来什么类,实例化哪个类的对象

============================================================================
之前我们获取对象

现在通过spring容器获取对象,先配置
获取对象
===========================================================================

设值注入和构造注入

如下图当我们需要给UserBiz对象的dao赋值时,应该怎么做?(一个对象种注入另一个对象时)

之前的做法

第一种现在的做法,通过spring实现设值注入

第二种现在的做法,通过spring实现构造注入
============================================================================
总结:
设值注入
第一步

============================================================================

ioc实例化时给对象属性赋值



自动装配(使用注解)

两种方式:按类型匹配,按名称匹配

====================================================
按类型匹配:


上面每增加一个类都会在配置文件增加一个bean

2.注解
使用注解好处:使配置文件更加简洁
注解缺点:增加新手读代码的难度

目前更偏向于注解

注解的工作原理很简单
1.读取配置信息,知道要扫描哪些包






使用注解如何把一个对象注入到另一个对象中

============================================================

按名称匹配

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服