美文网首页
Spring In Action

Spring In Action

作者: 奉先 | 来源:发表于2019-12-12 22:18 被阅读0次

1. 简介

Spring是一个开源框架,最早由Rod Johnson创建,Spring创建之初是为了解决企业级应用开发的复杂性(尤其EJB)的。后来的发展,Spring 可以做非常多的事情,但Spring的归根结底的使命是简化Java开发

为了降低Java开发的复杂性,Spring采取了以下4种关键策略
1.基于POJO的轻量级和最小侵入性编程;
2.通过依赖注入和面向接口实现松耦合;
3.基于切面和惯例进行声明式编程;
4.通过切面和模板减少样板式代码。

上边4个策略理解起来有些困难,下面通过例子展开解释。

1.1 基于POJO的轻量级和最小侵入性编程

Spring不会强迫你实现Spring规范的接口或继承Spring规范的类。

1.2 依赖注入DI

任何一个有实际意义的应用都会由两个或者更多的类组成,类相互之间进行协作来完成特定的业务。传统做法是每个对象负责管理与自己相互协作的对象(即它所依赖的对象)的引用,这样会导致高度耦合和难以测试的代码(例如RescueDamselQuest类)。
通过DI,对象的依赖关系将由系统中负责协调各对象的第三方组件在创建对象的时候进行设定。对象无需自行创建或管理它们的依赖关系,依赖关系将被自动注入到需要它们的对象当中去(例如BraveKnight类)。
创建应用组件之间协作的行为通常称为装配(wiring)。可以使用java类或者XML文件来完成装配工作。


2. 装配Bean

创建应用对象之间协作关系的行为通常称为装配(wiring),这也是依赖注入(DI)的本质。Spring提供了三种主要的装配机制:
1.在XML中进行显式配置。
2.在Java中进行显式配置。
3.隐式的bean发现机制和自动装配。
一般地,使用的优先级是 3 > 2 > 1 。下面就是分别介绍:

2.1 自动化装配

Spring从两个角度来实现自动化装配,分别是:组件扫描(component scanning)和自动装配(autowiring)。

3. AOP

散布于应用中多处的功能被称为横切关注点(cross-cutting concern),把横切关注点与业务逻辑相分离正是面向切面编程(AOP)所要解决的问题。
横切关注点可以被模块化为特殊的类,这些类被称为切面(aspect)。
切面的常用术语有通知(advice)、切点(pointcut)和连接点(join point)。切面也有目标——它必须要完成的工作,切面的工作被称为通知

相关文章

网友评论

      本文标题:Spring In Action

      本文链接:https://www.haomeiwen.com/subject/cylxnctx.html