对加载spring的认识spring监听器

一直疑惑为什么启动tomcat或者jetty的时候为什么会生成项目中所有的bean,特意查了一下资料。


首先要有这个认识:

开启服务器时如果不调用spring的话,spring是不会做什么的。一般web项目会在web.xml里配置spring的加载监听。这样启动web服务器时就会加载spring的配置文件,spring的bean工厂会启动,根据配置文件中配置的bean对象的类型和属性信息,通过反射将类实例化并且将类的属性通过set方法、构造器、接口等方式设置到对象中。通过spring的getBean方法可以根据bean的id来获取到实例化后的bean对象。

spring在服务器启动时就将所有的 singleton 的 bean提前实例化,这个应该是 在web.xml中配置的 ContextLoaderListener做的。

这里写图片描述

上半部分是项目中的spring配置文件xml的路径,下半部分是spring的的监听器。
spring会根据路径加载所有的配置文件,生成bean放在容器中。可以理解为spring中的那些jar包完成了这些操作,具体的流程我还没到那部暂且不管。暂且理解为:服务器启动会加载web.xml文件,然后会调用spring的jar包中的方法来加载配置文件生成bean。
链接的文章写的具体一点可以参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不写版本的都是耍流氓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值