java自己实现ioc_springioc原理、springmvc项目分析、自己实现IOC

从一个面试题开始:

你自己实现IOC容器的话,保存bean你会使用什么数据结构来保存呢?

现在的很多开发人员(甚至3年以上的)不一定能回答这问题,为什么会这样呢?

这个跟现在springboot现在已经高度成熟了,很多配置文件都已经没有了,改用了注解方式,这样一来,很多研发人员很难从原理上深入理解这个问题。所以这个系列课程我,没有从springboot开始,而是选择springmvc。

先从目前实际用springmvc开发时采用注解的方式开始,这个也是springmvc开发的主要方式。

然后采用xml方式的springmvc【现在用的比较少了,除非是以前遗留的系统】,实现同样功能的时候,需要配置哪些xml配置文件。进而切换到我们如何自己实现springioc容器的主题上来。

如果想弄明白ioc容器的原理,我们可以从如何存储bean来开始。然后通过分析springioc原理的讲解,加上自己实现的简单IOC容器的方式,加深大家对于ioc容器的理解。

SpringMvc demo解析(基于注解):

目前主流的springmvc开发方式,基于注解,自动配置依赖,只需要写业务代码

SpringMvc demo解析(基于XML):

这种形式,你是需要配置请求对应哪个Controller ID,这个controller id对应了哪个类,这个类有哪些属性,都是需要通过xml告诉spring ioc容器的。

SpringIOC原理

控制反转与依赖注入。

类的属性分为:基本属性、其他类。

在IOC容器出来之前,我们需要使用一个bean的时候,需要先new一个这种类的bean出来,然后设置这个bean的属性,设置完之后,才能使用。【查看示例代码】

有了Sporingioc之后,springioc可以依据xml配置文件或者注解的方式来自动的装配这些类。我们在使用的时候,只需要从ioc容器里面根据bean的 ID 或者 name把bean取出来就可以直接使用。【查看示例代码】

也就是说,bean的这个装配或者实例化的过程由ioc容器帮我们实现了,控制权由我们自己控制变成了有IOC容器来控制。 所以IOC容器其实是一种控制反转的思想。

自己实现简单的SpringIOC

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值