|
2、基于Spring的Web应用基础 2.1 Web应用的典型层次 Web应用一般在逻辑上根据功能分为以下几层: 1.展示层 这一层主要如何生成展示给最终用户的界面,尽可能少的包含业务逻辑处理。对于基于J2EE的Web应用,JSP是其最为常见的一种技术。Spring对于展示层的支持非常灵活,除了直接支持JSP之外,它还支持基于FreeMarker模板,基于Velocity模板或其它文档类型的界面等的表现层实现。 2.业务层 业务层一般包含主要的业务逻辑,尤其是与用例相对应的那些业务逻辑。另外,这一层也适合包含事务管理和安全控制方面的逻辑。良好的业务层设计可以使得展示层可以采用不同的技术而不影响业务层。业务层的功能上可以类比于J2EE技术中的无状态会话BEAN层次。 3.数据访问对象(DAO)接口层 DAO实际上就是数据接口层,在应用中建议通过接口来体现。DAO的存在使得数据访问可以与底层持久化层的具体实现相分离。一般在DAO接口中主要就是实现数据对象的查询、存储、删除等操作。从理论上讲,DAO层与底层数据的存储方式是独立的,也就是说并不一定要求是关系型数据库。Spring框架在设计的时候也考虑到了其它非关系型数据库数据源的情况。 4.持久业务对象 持久业务对象是问题域中业务对象的持久化表示,比如一个用户对象,一个银行帐户等。我们一般通过某种O/R映射技术来实现这些业务对象的持久化。持久业务对象是可以包含业务逻辑的,与业务层所包含的业务逻辑不同的地方是持久业务对象所包含的是与具体业务对象直接相关且更为通用的业务逻辑。 5.企业信息系统 企业信息系统泛指Web应用需要连接的后台系统,一般可以分为三大类,即ERP系统,企业传统的遗留系统和关系型数据库。大部分Web应用都是基于关系型数据库的,这也是像Spring等常见框架所主要考虑的企业信息系统。 设计良好的Web应用在层次一般是上一层依赖下一层,但是下一层不依赖上一层。我们可以暂时概括为"向下而不向上依赖原则"。为了使得不同层次之间的依赖降到最低,建议使用接口耦合。这一点又是Spring框架发挥它外部配置优势的地方。 |