Spring学习

参考书:Spring实战

Spring核心

一、Spring之旅

1.1 简化Java开发

通过4种关键策略来简化Java的开发:

  • 基于POJO的轻量级和最小侵入性编程;
  • 通过依赖注入和面向接口实现松耦合;
  • 基于切面和管理进行声明式编程;
  • 通过切面和模板减少样板式代码。

1.1.1 POJO的最小侵入性编程

避免框架自身的API而弄乱我们的应用代码,意味着某个类在Spring应用和非Spring应用中都可以发挥同样的作用。

1.1.2 DI功能(依赖注入)

举例依赖注入的一种方式——构造器注入(Constructor injection)

目标:让互相协作的软件组件保持松散耦合。

具体思想:通过传参的方式传入quest,而不是在BraveKnight类中定义一个Quest类的变量。

Spring学习_第1张图片

1.1.3 应用切面(AOP)

目标:

  • 把遍布应用各处的功能分离出来形成可重用的组件。

AOP和OOP的不同:

  • AOP面向切面编程:希望能够将通用需求功能从不相关的类当中分离出来,能够使得很多类共享一个行为,一旦发生变化,不必修改很多类,而只需要修改这个行为即可。
  • OOP面向对象编程:将需求功能划分为不同的并且相对独立,封装良好的类,并让它们有着属于自己的行为,依靠继承和多态等来定义彼此的关系。

举个AOP的例子:

不是AOP的:

Spring学习_第2张图片

AOP的,把Minstrel声明为一个切面:

你可能感兴趣的:(#Spring,Java)