最近学习教学视频,怕遗忘特将知识点总结与此。欢迎大家相互交流指正。
一、概述
1.控制反转:应用本身不负责依赖对象的创建与维护,依赖对象的创建与维护是有外部容器负责的。这样的控制权就由应用转移到了外部容器,控制权的转移就是所谓的反转。
2.依赖注入:在运行期,由外部容器(IOC)动态的将依赖对象注入到组件中。
好处:
(1)降低组件之间的耦合性,实现软件隔层间的解耦。
(2)可以使用容器提供更多的服务
(3)容器提供单例模式支持
(4)容器提供了AOP技术支持,易于实现权限拦截,运行期监控功能
(5)容器提供众多辅助类,这些类可以加速开发
(6)spring对于主流的应用框架提供了集成支持
3.sping量级的划分:
轻量级:只使用spring的核心的服务
重量级:使用spring的大多数服务
spring服务并不是默认为应用打开的:就是必须使用这些应用。(EJB就是必须使用)
二、实例化spring容器
常用的有两种方式:
1.在类的路径下查找配置文件来实例化。
ApplicationContext cxt = new ClassPathXmlApplicationContext(new String[]{"applicationContext.xml"}); //可以是数组,也可以是String,数组时为加载多个配置文件
ApplicationContext cxt = new ClassPathXmlApplicationContext("applicationContext.xml");
2.在文件系统路径下寻找配置文件实例化容器。
ApplicationContext cxt = new ClassPathXmlApplicationContext(new String[]{"d:\\applicationContext.xml"});
spring配置文件可以指定多个,可以通过String数组传入