为了降低Java开发的复杂性, Spring采取了以下4种关键策略:
- 基于POJO的轻量级和最小侵入性编程;(POJO(Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBeans)
- 通过依赖注入和面向接口实现松耦合;
- 基于切面和惯例进行声明式编程;
- 通过切面和模板减少样板式代码。
在构造的时候把探险任务作为构造
器参数传入。 这是依赖注入的方式之一, 即
构造器注入(constructor injection) 。
创建应用组件之间协作的行为通常称为
装配(wiring) 。 Spring有多种装配bean的方式, 采用
XML是很常见的一种装配方式。如果XML配置不符合你的喜好的话, Spring还支持使用Java来描述配置
依赖注入有几种方式:
构造器注入和setter注入
DI能够让相互协作的软件组件保持松散耦合,
面向切面编程(aspect-oriented programming, AOP) 允许你把遍布应用各处的功能分离出来
形成可重用的组件。
如果将这些关注点分散到多个组件中去, 你的代码将会带来双重的复杂性。
- 实现系统关注点功能的代码将会重复出现在多个组件中。
- 组件会因为那些与自身核心业务无关的代码而变得混乱。
Spring旨在通过模板封装来消除样板式代码。 Spring的
JdbcTemplate使得执行数据库操作时, 避免传统的JDBC样板代码成为了可能。
如下的类是继承了
extends
JdbcDaoSupport