共计 1199 个字符,预计需要花费 3 分钟才能阅读完成。
什么是 Spring?
Spring 是一个轻量级开源框架,以 IoC(管制反转)和 AOP(面向切面编程)为外围。
Spring 的实质是管理软件中的对象,即创建对象和保护对象之间的关系。
Spring 的劣势
1). 不便解耦,简化开发
通过 Spring 提供的 IoC 容器,能够将对象间的依赖关系交由 Spring 进行管制,防止硬编码所造成的适度程序耦合。用户也不用再为较为底层的需要编写代码,能够更专一于下层的利用。
2).AOP 编程的反对
通过 Spring 的 AOP 性能,不便进行面向切面的编程,许多不容易用传统 OOP(Object Oriented Programming:面向对象编程)实现的性能能够通过 AOP 轻松应酬。
3). 申明式事务的反对
能够将咱们从枯燥烦闷的事务管理代码中解脱进去,通过申明式形式灵便的进行事务的治理,进步开发效率和品质。
4). 不便程序的测试
能够用非容器依赖的编程形式进行简直所有的测试工作,测试不再是低廉的操作,而是顺手可做的事件。
5). 不便集成各种优良框架
Spring 能够升高各种框架的应用难度,提供了对各种优良框架(Struts、Hibernate、Hessian、Quartz 等)的间接反对。
6). 升高 JavaEE API 的应用难度。
Spring 对 JavaEE API(如 JDBC、JavaMail、近程调用等)进行了薄薄的封装层,使这些 API 的应用难度大为升高。
7).Spring 框架源码是经典学习范例
Spring 的源代码设计精妙、构造清晰、匠心独用,处处体现着巨匠对 Java 设计模式灵活运用以及对 Java 技术的浅近造诣。它的源代码无疑是 Java 技术的最佳实际的范例。
什么是程序的耦合
耦合性 (Coupling),也叫耦合度,是对模块间关联水平的度量。耦合的强弱取决于模块间接口的复杂性、调用模块的形式以及通过界面传送数据的多少。模块间的耦合度是指模块之间的依赖关系,包含控制关系、调用关系、数据传递关系。 模块间分割越多,其耦合性越强,同时表明其独立性越差(升高耦合性,能够进步其独立性)。耦合性存在于各个领域,而非软件设计中独有的,然而咱们只探讨软件工程中的耦合。
总结:在软件工程中,耦合指的就是指对象之间的依赖关系。对象之间的依赖水平越高,耦合度就越高。对象之间的耦合越高,保护老本越高。因而对象的设计应使类和构件之间的耦合最小。
升高程序之间的依赖水平,即升高程序之间的耦合度的过程就叫做解耦。
SpringIOC 管制反转
IOC(Inverse Of Control)管制反转 ,即,把创建对象的权力交给框架。
也就是指将对象的创立、对象的存储、对象的治理交给了 spring 容器。
Spring DI 依赖注入
DI(Dependency Injection)依赖注入。
依赖注入,即组件之间的依赖关系由容器在利用零碎运行期来决定,也就是由容器动静地将某种依赖关系的指标对象实例注入到利用零碎中的各个关联的组件之中。