Spring简单使用和原理分析

Spring基础容器XmlBeanFactory的简单使用

Spring就是一个容器,容器中装的就是一个个的bean,bean其实不需要特别的复杂,毕竟Spring的初衷就是想让bean成为一个简单的Java对象。

Student这个bean创建好之后,如何添加到Spring容器中呢?可以在resources目录下,创建一个xml文件applicationContext.xml,然后在applicationContext.xml中通过bean标签配置Student类:

可以看到哦,通过bean标签中的class属性,配置了Student类全限定名,而id属性的值就是告诉Spring容器这个bean名称是什么,方便后续从Spring容器中获取这个bean。

现在bean已经准备好了,并且已经配置到了xml文件中了,这个时候就需要扫描xml文件,将xml文件中配置好的bean也就是Student类,给加载到Spring容器中:

可以看到,首先我们通过ClassPathResource封装了applicationContext.xml配置文件,然后将ClassPathResource作为XmlBeanFactory的构造方法的参数创建XmlBeanFactory,XmlBeanFactory可以理解成就是Spring的容器,是用来存放bean的地方。

接着,从XmlBeanFactory容器中,获取名称为student的bean,运行一下就可以在控制台上打印出字符串"ruyuan",Spring容器XmlBeanFactory最基础的使用就是这样了。

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

XmlBeanFactory和ApplicationContext的对比

暂时可以将XmlBeanFactory理解为是一个基础的Spring容器,功能比较简单,而ApplicationContext相比XmlBeanFactory是一个高级的容器了。

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

XmlBeanFactory的工作原理分析

通过class属性的值即类全限定名称,就可以通过反射创建bean,也就是创建了一个Student对象出来,然后再将Student对象放到Spring容器当中,Student对象在容器中的名称为属性id的值,Spring容器的初始化就是干这些事情。

然后,当我们调用getBean的方法的时候就会从Spring容器中加载bean了,Spring会根据给定的bean的名称到Spring容器中获取bean,比如demo中就是通过student这个名称,从Spring容器中获取Student对象。

相关推荐
2301_795167206 小时前
玩转Rust高级应用 如何让让运算符支持自定义类型,通过运算符重载的方式是针对自定义类型吗?
开发语言·后端·算法·安全·rust
程序猿阿越7 小时前
Kafka源码(七)事务消息
java·后端·源码阅读
ArabySide7 小时前
【Spring Boot】REST与RESTful详解,基于Spring Boot的RESTful API实现
spring boot·后端·restful
程序定小飞8 小时前
基于springboot的学院班级回忆录的设计与实现
java·vue.js·spring boot·后端·spring
dreams_dream9 小时前
Django序列化器
后端·python·django
懷淰メ9 小时前
python3GUI--短视频社交软件 By:Django+PyQt5(前后端分离项目)
后端·python·django·音视频·pyqt·抖音·前后端
有意义9 小时前
从零搭建:json-server+Bootstrap+OpenAI 全栈 AI 小项目
前端·后端·llm
汤姆yu10 小时前
基于springboot的民间救援队救助系统
java·spring boot·后端·救援队
IT_陈寒11 小时前
React性能优化实战:这5个Hooks技巧让我的应用快了40%
前端·人工智能·后端
韩立学长11 小时前
基于Springboot的智慧管网灌溉系统i1agupa7(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·后端