Spring IOC 是Spring框架一个核心,称之为控制反转严格来讲就是我们将软件项目中对象的创建以及管理交给Spring。当我们使用对象时,从spring容器获取就可以了
Spring 框架如何知道你写了哪些类,哪些类的对象由spring管理
a)以xml配置文件的方式告诉它
b)以注解方式告诉它。
Spring 会如何构建这些对象?
通过反射Class.forName(“包名.类名”)
Spring 会如何存储这些对象?
底层会借助map存储对象
Spring最大的优势?
1.扩展时无需重新编译,只需修改配置即可
2.更好的使用内存,防止内存泄漏
3.更好的解耦和
最大的劣势?
1.构建对象的过程变的复杂了
2.对象结构的可读性降低了。
Spring编程步骤(以简单的java项目为例)
1:创建JAVA项目
2:添加SPRING依赖及配置文件(创建lib目录,然后将jar放入,添加到buildpath)
3:编写并配置java类
4:初始化SPRING容器,获取我们需要的java对象。