本文有3个知识点,先总结。
1.介绍spring
2.介绍applicationContext和BeanFactory
3.演示怎么在spring里创建对象和怎么问spring要一个对象
【spring介绍】
看过4-5次视频,查过好几次资料,总的来说,至今,我最认可,觉得最简单易懂的解释是------spring是个容器,对象的容器。
【spring在项目中的位置】
以前,jsp-springMVC-servlce-持久层,springMVC得在代码里new一个业务层对象,然后操作业务层;业务层又得自己new一个dao对象,然后操作数据库,这样就层层耦合,后来有了spring之后,Action只需要问spring要业务层service的对象,业务层只需要问spring要dao对象,就可以完成一次操作,这样,他们的关系最后就交给了spring来管理(我们只需要把对象创建在spring就可以了)。
所以我觉得,spring是连接应用层和持久层的桥梁,只要用到对象的地方就有spring,spring无处不在。


【applicationContext与BeanFactory】
1.BeanFactory是最顶层的接口,applicationContext继承了BeanFactory,并比BeanFactory更强大(顶层接口肯定没有之后发展的子接口功能丰富 )。这个可以通过看底层代码看出来(如下图关系,已经验证。)

2.Beanfactory是在获取对象的时候才去创建对象,而applicationContext是在容器启动的时候就创建对象了。
可能是从前电脑配置低,内存小,得省着用吧,BeanFactory才在设计之初,设计成是在获取对象的时候才去创建对象。
所以,用哪个,就看以后资源了,充足,就用applicationContext,资源紧缺就用BeanFactory,启动的时候,肯定就是BeanFactory启动更快了。
【演示怎么在spring里创建对象和怎么问spring要一个对象】
步骤1:先创建一个web项目
步骤2:导入核心包+日志包
步骤3:创建一个测试对象
步骤4:创建一个xml文件
步骤5:在xml文件中创建对象
步骤6:测试

2.核心包,看下面这张图,图中别人都指出了核心包有四个。




4.1 引入约束

4.2

4.3

4.4

4.5 添加完xsi后,继续右键添加xsd。记得填写Namespace Name

4.6 接着右键

4.7

4.8 name 为一个别名,到时候用这个别人去问spring要对应的对象。

测试

【验证BeanFactory】是在获取对象的时候才去创建对象
先把bean设置成lazy-init=true ,懒加载。


启动的时候是没有输出的。

启动,获取对象的时候,发现有输出,说明,的确是在获取对象的时候才去创建对象。

本文深入浅出地介绍了Spring框架的基本概念,将其比喻为对象的容器,详细解析了Spring在项目架构中的作用,以及如何使用applicationContext和BeanFactory进行对象的创建与管理。通过实例演示,帮助读者理解Spring的核心功能。
2435

被折叠的 条评论
为什么被折叠?



