Spring---IOC
控制反转(
)IOC概念
概述:利用反射的原理,将对象的创建给Spring容器,Spring容器在运行的时候根据配置文件来动态的创建对象和维护对象之间的关系,实现了松耦合的思想。这种调用者获取对象的方式由主动获取变为被动接受,称为“控制反转”。
表现形式:以配置文件管理对象实例的协作关系。
作用:降低了程序的耦合,简化开发。
解放了程序员——不用管怎么创建对象,精力集中于业务逻辑,即如何更好的使用对象。
耦合:也叫耦合度,是对程序间关联程度的度量。耦合的强弱取决于模块间接口的复杂性、调用模块的方式以及通过界面传送数据的多少。模块间的耦合度是指模块间的依赖关系,包括控制关系、调用关系、数据传递关系。模块间联系越多,其耦合性越强,同时表明其独立性越差(降低耦合性,可以提高其独立性)。
耦合代码示例:
A类的属性有String和Integer两个封装类,那么A类属性就依赖这两个类。
B类的属性有A类,那么B类属性就依赖A类。B类的m2方法内有A类的m1和m12方法,那么B类的方法依赖A类的方法。
类与类之间的依赖越大,耦合度就越高,高耦合违背了开发的开闭原则(对外扩展开放,对内修改关闭),程序需要低耦合,简洁开发。
public class A { String a; Integer b; public void m1(){ } public static void m12(){ } }
public class B { private A a; public void m2(){ a.m1(); m2(); } }
MAVEN项目下搭建环境
Spring需要配置aop,beans,context,core,expression必备的包。使用Idea工具时,导入spring-context依赖其它包会自动引入,Eclipes需要导入所有的包,我选的时5.0+版本。
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.0.5.RELEASE</version> </dependency>