IOC和DI关系以及autowired与resource的区别

什么是IOC(控制反转)?
控制反转指的就是应用程序把对象的所有控制权都交给Spring容器,应用程序本身不负责对象的创建和维护,然后容器把对象的使用权反转给程序。
实例化对象的两种实现方式:
配置方式: 在这里插入图片描述
注解方式:
1.通过扫描方式,扫描指定包路径下的所有注解
在这里插入图片描述
2.对需要实例化的类添加注解:
在这里插入图片描述
Component注解是bean类实例化提供的 注解方式。它还衍生出三个注解,Controller(web层)Service(业务层),Repository(dao层)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
什么是DI(依赖注入)?
组件之间的依赖关系由容器在运行期决定,形象的说就是容器动态的将某个依赖关系注入到组件中。通俗的说就是依赖配置文件将属性注入Bean.,即应用程序依赖容器获取某个对象所需要的外部资源。
实现方式:
配置形式:
在这里插入图片描述
注解方式:有两种注解Autowired和Resource.
在这里插入图片描述
@Autowired与@Resourse的区别
相同点:
1.都可以用来装配bean
2.注入的位置可以是类的属性,也可以set方法
不同点:
1.@Autowired默认情况下按类型装配(这个注解属于Spring),默认情况下要求依赖对象必须存在,如果要允许空值,可以设置它的required属性为false,如果想要按name来装配。可结合@Qualifier注解进行使用;
在这里插入图片描述
2.@Resource(这个注解属于J2EE),默认按照name进行装配,可通过name属性进行指定,如果没有指定name属性,当注解写在类的属性上,默认按照属性名进行装配,如果找不到与名称相匹配的bean时才按照类型装配。
IOC与DI的关系:
IOC是将类的对象的创建交给Spring管理,DI是将类里面的属性在创建类的过程中给属性赋值。DI不能单独存在,DI需要在IOC的基础上完成。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值