Spring的IoC【面试】

什么是Ioc?

1、IoC全称Inversion of Control,意思是控制反转。

2、控制反转:把对象的创建、赋值、管理等工作交给spring容器实现。控制:指的是创建对象、给对象的属性赋值以及对象之间的关系管理。反转:指的是将原来由开发人员的这些控制权限转移给spring容器实现。与反转相对的是正转,开发人员在代码中使用new的方式创建对象。

3、spring容器创建对象底层实现基于工厂模式和反射机制。

为什么要使用IoC?

1、实现组件之间的解耦合,提高程序的灵活性和可维护性。

2、实现了资源的复用,例如一个service对象可以注入到多个controller中。

IoC依赖注入DI

①DI的两种语法

1、构造注入:必须有构造方法(无参的话可以省略)

2、set注入:必须有无参构造和set方法才能给属性赋值(先通过无参的构造方式创建对象,通过对象调用set方法进行赋值)

②DI的两种实现

基于XML

基于注解

1、注解的位置在类的上方。

2、value是该对象的名称,默认是是类名首字母小写;value值不能重复,在容器中只有这一份。

3、两种自动注入的方式:

@Resource:来自jdk中的注解,spring框架提供了对这个注解的支持,默认使用byName失败后使用byType。

@Autowire:有一个属性是required(默认是true,表示引用类型赋值失败,程序报错并终止执行);自动注入默认是按照类型进行注入。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值