1、1 前言 本文档是关于Spring框架开发风格分析性文档。包括:基本概念、设计原则、设计规范、重要功能分析、关键类分析等。本文档适合所有Java开发人员。2 概念a) 装配:创建系统组件之间协作关系的这个动作。b) Spring坚持的信念: i. 好的设计比实现技术重要。 ii. 通过接口松散耦合的JavaBeans是个很好的模型。
2、 iii. 代码应该容易测试。c) Spring的特性: i. Spring:是一个轻量级的IoC和AOP容器框架。 ii. 反向控制IoC:对象是被动接收依赖类而不是主动的查找。可以将IoC理解为JNDI的反转-对象不是从容器中查找他的依赖类,而是容器在实例化对象的时候主动将它的依赖类注入给它。
3、 iii. AOP面向切面:系统对象只做他们该做的-业务逻辑,不负责(或关心)其他系统的问题(如日志和事务支持)。1. AOP经常定义为编程技术,用来在系统中提升业务的分离。2. 系统服务如日志、事务管理和安全经常融入到一些其他功能模块中。这些系统服务通常叫做交叉业务。它分布在多个组件中,给代码带来双重复杂性。a) 如果改变业务规则,需要到各个模块中去修改。即使抽象为一个模块,其他地方也得调用个方法,该方法还是分布到很多地方。b) 组件可能因为那些
4、与核心业务无关的代码变得凌乱。d) AOP帮助将这些服务模块化,并把他们声明式的应用在需要它们的地方。核心业务甚至不知道他们的存在。 i. 容器:包含并管理系统对象的生命周期和配置。 ii. 框架:使用简单的组件配置组合成一个复杂的系统。Spring是代码:更加清晰、更容易管理、更容易测试。e) POJO:PlainOldJavaObject,或者:POJI:PlainOl
7、berUtils。l exception包。存在异常类,对于所有可能的异常,根据分类,都可以单独进行命名。4.2 类 1. Operations接口类 i. exposingasetofcommonJDBCoperations,whoseinterfaceissimplifiedthroughtheuseofvarargsandautoboxing. ii. 例如:SimpleJd
8、bcOperations2. Accessor辅助类 i. 不以直接使用为目的。Notintendedtobeuseddirectly ii. 定义了一些主