spring二 ioc di
spring三 bean的生命周期以及作用域
spring四 aop
写spring是为了对spring学习的记录,刚开始接触spring一头雾水,因为直接看到的是各种配置,注解,难以理解。而且从最基础的讲解的资料看到的不是很多。废话不说了。
spring是什么?
spring是一个框架,一个容器框架,何谓容器?容器就是一个给你放东西的物体,那么sping里面放了什么,spring里面放了bean(准确讲是在spring中配置bean),但spring这个容器不仅仅可以配置bean,他还可以维护bean之间的的关系,这里面涉及到了ioc和di。
spring的三个重要概念。
bean 是什么?
bean可以是任何的一个java对象,比如javabean,service,dao...
ioc 是什么?
ioc(inverse of control) 控制反转,我们现在的创建对象实例都是通过new来创建,这样这个对象的创建权在于程序,但在spring中这个创建权给了spring,由spring来创建对象,这就是控制反转。
di 是什么?
di(dependency injection)依赖注入,依赖注入就是在创建对象的时候注入对象的属性值。
ioc和di是spring的核心,这样讲一下肯定理解不了,结合后面的例子来理解。
从整体上来看spring
我们现在觉得spring还是非常的空洞,尽管我们知道了spring是什么。但是他处在项目的哪里?比如我们的mybatis,hibernate就在我们的持久层,spring mvc,struts处在控制层。那么我们的spring在哪?spring非常的大,上面说了,spring是配置bean以及维护bean之间的关系。而bean又可以是任何的一个java对象,所以spring的一个感觉就是大。为了直观看下图。
![](https://img.haomeiwen.com/i4638441/a03614770bf7566e.png)
初体验例子
例子的实现目的是通过比较普通的创建对象与通过从spring中取得对象实现上有什么不同,来初步体会spring。
实现过程:
1.先如图创建一个web项目
![](https://img.haomeiwen.com/i4638441/242db6964ca9640b.png)
创建一个springDemo的java项目,再在这个项目中创建一个introduce的module。然后我们为了使用spring需要引入commons-logging的jar包和spring的jar包
2.如图创建目录结构
![](https://img.haomeiwen.com/i4638441/66a37c1cb8819441.png)
FirstDemo的作用是作为测试对象,Test和TestSpring作用分别是通过new来创建FirstDemo和去spring中取得FirstDemo对象。applicationContext.xml是spring的配置文件,bean的配置以及bean之间的维护就在这里进行。
3.测试结果
![](https://img.haomeiwen.com/i4638441/e092cee6fa609c33.png)
![](https://img.haomeiwen.com/i4638441/7dbb71292d61f6cc.png)
这里就不具体贴出代码细节了,需要的可以自行下载。
源码地址:springDemo
网友评论