基于Spring MVC框架的微生物群落生物信息数据库系统的设计与实现3.doc_第1页
基于Spring MVC框架的微生物群落生物信息数据库系统的设计与实现3.doc_第2页
基于Spring MVC框架的微生物群落生物信息数据库系统的设计与实现3.doc_第3页
基于Spring MVC框架的微生物群落生物信息数据库系统的设计与实现3.doc_第4页
基于Spring MVC框架的微生物群落生物信息数据库系统的设计与实现3.doc_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于Spring MVC框架的微生物群落生物信息数据库系统的设计与实现摘要随着生物学的快速发展,人类已经获得了大量的生物分子数据,并且生物分子数据的积累正在以级数增长。如何有效的将这些数据合理的组织起来,为研究者和使用者提供一个良好的使用和研究平台,成为摆在了生物学家面前亟待解决的一个问题。生物信息学的研究范围很广,其研究对象与生物数据直接相关。因此,各种生物数据库的建立和管理是一切生物信息学工作的基础和出发点。微生物群落生物信息数据库主要分为一级数据库和二级数据库。其中,一级数据库的数据直接来源于原始的实验数据包括核酸和蛋白质两类,两者都只经过简单地整理和注释。一级数据库数据量大,更新速度快,数据通过网络进行发布。二级数据库的构建很少来源于直接的实验数据,往往是结合某一研究领域的实际需要,通过搜索已知数据库(主要为一级数据库)的数据信息,并对其进行加工整理而成。二级数据库专一性强,数据质量高。本文的微生物群落生物信息数据库属于二级数据库。本文合理利用CVS(Version Control System)即版本控制系统来提高程序空间的利用率,来协助一组开发人员共同高效地开发一个工程以及如何来提高程序员的开发效率。本文共分为六章,内容安排如下:第一章介绍微生物群落生物信息数据库国内和国外的发展现状,同时对现存的微生物群落生物信息数据库存在的问题进行简要分析,确定本文所要研究的若干内容。第二章介绍微生物群落生物信息数据库系统在构建过程中所要用的相关技术知识。包括J2EE框架知识、Servlet技术、Log4j组件和CVS版本控制系统等。第三章微生物群落生物信息数据库系统的设计。第四章微生物群落生物信息数据库系统的实现。主要从微生物群落生物信息数据库中的Spring MVC模式,log4j. OSCACH E和CVS在微生物群落生物信息数据库中的结合两个方面进行介绍。第五章对本文进行了总结。关键词:Spring MVC模式;微生物群落生物;信息数据库系统;设计Analysis on the Design and Implementation of Biological Information Database System Based on the Microbial Community of Spring MVC FrameworkAbstractWith the rapid development of biology, mankind has acquired a lot of biomolecular data, and the accumulation of biomolecular data is growing in series. How effective will these data reasonably organized, to provide researchers and users and the study of the use of a good platform, as before the biologists a problem to be solved. Bioinformatics research scope is very wide, and its research object is directly related to biological data. Therefore, the establishment of various kinds of biological database and management is the basis and starting point of the bioinformatics job. Biological information database is mainly divided into the primary database and secondary database. Among them, the level of the database data directly is from the original experimental data including two types of nucleic acid and protein, both of which only after simply sorting and comments. The primary database data quantity is big, update speed, data released through the network. Secondary database building rarely comes from direct experimental data, is often combined with a study in the field of the actual needs, by searching for a given database (mainly for the primary database) data and information, and carries on the processing and into. Secondary is database strong specificity, high data quality. In this paper, the biological information database belongs to secondary database.In this paper, reasonable use CVS (Version Control System) is a Version Control System to improve space utilization program, a group to assist the developer together efficiently and how to develop a project to improve the development efficiency of the programmer. This article is divided into six chapters, the content of the chapters are arranged as following: the first chapter microflora biological information database for domestic and foreign development present situation, the microbial community of the existing biological information database, the paper analyzed the problems existing in determining the contents in this article to study. The second chapter is biological information database system of the microbial community in the process of building the relevant technical knowledge to be used and includes the knowledge of J2EE framework, Servlet technology, Log4j component and CVS version control system, etc. The third chapter is microflora biological information database system design. The fourth chapter is microflora biological information database system, mainly from the biological information database of the microbial community in Spring MVC pattern, log4j. OSCACH E and CVS in the microbial community of biological information in the database is presented in two aspects. The fifth chapter of this article is summarized.Keywords: Spring MVC pattern; Microbial community; Information database system; design目 录摘 要IAbstractII第一章 绪论11.1 研究背景及意义11.2 研究现状11.3 论文的组织结构3第二章 相关技术42.1 Spring MVC简介42.1.1 Spring MVC的结构42.1.2使用Servlet实现MVC开发模式42.2 J2EE介绍52.2.1 J2EE简介52.2.2 J2EE常用组件6第三章 系统的设计93.1 系统总体设计思路93.2 数据库构建和相关关系11第四章 系统的实现144.1 微生物群落生物信息数据库中的Spring MVC模式144.2 log4j. OSCACH E和CVS在微生物群落生物信息数据库中的结合17第五章 总结与展望20参考文献2224第一章 绪论1.1 研究背景及意义 生物信息学的研究范围很广,其研究对象与生物数据直接相关。因此,各种生物数据库的建立和管理是一切生物信息学工作的基础和出发点。微生物群落生物信息数据库主要分为一级数据库和二级数据库1。其中,一级数据库的数据直接来源于原始的实验数据包括核酸和蛋白质两类,两者都只经过简单地整理和注释。一级数据库数据量大,更新速度快,数据通过网络进行发布。二级数据库的构建很少来源于直接的实验数据,往往是结合某一研究领域的实际需要,通过搜索已知数据库(主要为一级数据库)的数据信息,并对其进行加工整理而成2。二级数据库专一性强,数据质量高。本文的微生物群落生物信息数据库属于二级数据库。另一方面,随着企业信息化理论的提出与发展,企业级应用成为软件应用的一大分支。企业级应用是指那些为商业组织、大型企业而创建的解决方案及应用程序。这些大型的企业级应用具有用户多、数据量大,事务密集等特点,往往需要满足未来业务需求的变化。这就使得面向企业级应用的开发往往比较复杂3。为了更好的促进企业级开发,JCP C Java Community Process )制定了J2EE的一系列标准。其最终目标是成为一个支持企业级应用开发的体系结构,简化企业级应用的开发,部署和管理等复杂问题。事实上,J2EE己经成为企业级开发的工业标准和首选平台。现如今,J2EE不仅仅是指一种标准平台,它更多的表达着一种软件架构和思想。1.2 研究现状万维网作为个人和团体之间的一种通信工具,它的出现不仅引发了计算机界的革命,也对人们的工作和生活造成了重大的影响4。在20世纪90年代中期之前,计算机作为一种工具,被商业、政府机构和教育机构广泛使用。从那时起,因特网和支持Web的软件工具使得人们可以以一种全新的方式来使用计算机,并产生了显著的影响。在商业上,商家可以通过万维网进行销售、市场运作等多种类型的通信。例如,电子邮件几乎已经完全取代了纸质备忘录,尤其是在雇员遍布全世界的公司中。这些公司通过Web在雇员、合伙人、客户和大众之间发布信息3。然而,这并不意味着开发支持计算机处理信息的软件非常容易。实际上,信息管理是软件开发中最具有挑战性的一部分。为了开发一个高效的信息系统,软件工程师必须确定系统中将会容纳何种类型的信息,比如名字、地址、客户的信用卡号、产品的描述以及价格。他们必须对每种信息给出精确定义,并且设计和实现计算机能够创建、维护和保护这些信息的方法4。然而,所有这些信息究竟以何种形式存储在计算机的哪个地方呢?实际上,信息存入了数据库管理系统。这个系统由软件和硬件组合而成,允许人们组织和存储信息5。当用户添加特定的信息到一个DBMS中时,就形成了一个数据库,或者说一个数据库系统。数据库用户存储关键信息(从顾客的名字和供应商的价格,到销售记录和购买记录),更新这些信息,并使其对于需要它的所有人都是可见的。从事数据库工作的人员担负了为各种组织提供很多便利的责任6。模式是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及型的描述,不涉及具体的值,它是数据库系统的一个总的框架。模式的一个具体取值称为模式的一个实例,同一个模式可以有很多实例。模式是相对稳定的,而实例是相对变动的,因为数据库中的数据是不断更新的7。模式反映的是数据的结构及其联系,而实例反映的是数据库某一时刻的状态。尽管实际的数据库系统软件产品多种多样,建立在不同的操作系统之上,支持不同的数据模型,使用不同的数据库语言,但是就其体系结构而言却是大体上相同的,包括了三级模式结构,这是数据库系统的整体内部结构8。当然,有些微型机上的小型的数据库系统不具有三级模式的全部特征,对这一点不必苛求,重要的是它对深刻理解数据库系统有着很大的帮助9。在当今的技术密集型经济下,世界上的许多组织不管是受利益驱动与否,也不管是教育界还是政府机构,没有数据库管理系统的帮助,都不能保持其竞争性和实现自己的目标。这样的话,无论读者希望从事什么职业(或者正从事某种职业),对于信息系统和数据库管理的了解都有助于读者为组织的成功做出重要贡献。即使读者决定开创自己的事业,这种知识也同样重要10。最后,读者在学习如何设计和实现数据库系统和数据库应用程序之后,将会自信自己掌握的技能对于很多行业都是有用的11。1.3 论文的组织结构本文合理利用CVS(Version Control System)即版本控制系统来提高程序空间的利用率,来协助一组开发人员共同高效地开发一个工程以及如何来提高程序员的开发效率。本文共分为六章,各章的内容安排如下:第一章介绍微生物群落生物信息数据库国内和国外的发展现状,同时对现存的微生物群落生物信息数据库存在的问题进行简要分析,确定本文所要研究的若干内容。第二章介绍微生物群落生物信息数据库系统在构建过程中所要用的相关技术知识。包括J2EE框架知识、Servlet技术、Log4j组件和CVS版本控制系统等。第三章对微生物群落生物信息数据库系统中的Spring MVC框架进行了整合以及详细阐述了他们的工作过程。第四章介绍了微生物群落生物信息数据库系统的设计和实现。第五章对微生物群落生物信息数据库系统进行了测试。通过对比分析,得出结论。第六章对本文进行了总结。第二章 相关技术2.1 Spring MVC简介Spring不但是一个很好的集成框架,它还提供了构建Web应用程序的全功能MVC模块。Spring的MVC框架非常强大,并不逊色于其他专业的Web框架,如Struts、WebWork。Spring的MVC Web框架是高度可配置的,而且包含多种视图技术,例如JSP、Velocity、Tiles和iText。Spring MVC分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制12。2.1.1 Spring MVC的结构Spring的Web框架是围绕Dispatcher Servlet来进行设计的。Dispatcher Servlet的作用是将请求分发到不同的处理器。Spring的Web框架包括可配置的处理器(handler)映射、视图(view)解析、本地化(local)解析、主题(theme)解析以及对上传文件解析。处理器是对Controller接口的实现,该接口仅仅定义了Model And View handle Request(request,response)方法。可以通过实现这个接口来生成自己的控制器(也可以称为处理器),但是从Spring提供的一系列控制器继承会更省事,如AbStractC0ntroller、Abstract Command Controller和Simple Form Controller13。2.1.2使用Servlet实现MVC开发模式Java语言之所以受到开发人员的支持,是因为Java语言实现科学方便的开发模式,在这些开发模式中,最出色而且应用最广的就是MVC模式14。对于MVC模式的研究由来已久,但是,直没有得到很好地推广和应用,随着JZET技术的成熟,MVC逐渐成为了一种常用而且重要的设计模式。MVC(Model-View-Controller)把应用程序的开发分为3个层面15:视图层、控制层和模型层。其中视图层负责从用户获取数据和向用户展示数据,在这层中不负责对业务逻辑的处理和数据流程的控制16。而模型层负责处理业务逻辑和数据库的底层操作,其中视图层和模型层之间没有直接的联系。控制层主要负责处理视图层和模型层的交互,控制层从视图层接受请求,然后从模型层取出对请求的处理结果,并把结果返回给视图层。在控制层中只负责数据的流向,井不涉及具体的业务逻辑处理17。ViewModelController图2.1 MVC三层架构2.2 J2EE介绍2.2.1 J2EE简介当前,Java 2平台共有3个版本20,主要包括Java 2平台企业版(Java 2 Platform Enterprise Edition,J2EE)用于创建服务器应用程序和服务、Java 2平台Micro版(Java 2 Platform Micro Edition,J2ME)用于小型设备和智能卡,Java 2平台标准版(Java 2 Platform Standard Edition,J2SE)是适用于桌面系统18。J2EE由各种各样的组件组成,因此应用系统的整个开发与部署过程得到了简化,并且也有一定的规范效果,借此来提高系统的可移植能力、安全性能和再利用的价值,所以它与传统应用开发的技术构架是完全不一样的。以前总有企业因为其所使用的信息产品的不同,而出现了无法兼容的情况,以至于企业内部或外部出现了难以户互通的窘况19。而J2EE的核心就是一组技术规范和指南,其中包含有共同的标准及规格的各种各样的组件、服务构架以及技术层次,使各种依循J2EE构架的不同平台之间,都可以有很好的兼容性,因此这样就解决了彼此的沟通问题20。开发人员是在J2EE架构下根据可依循规范基础,进而开发企业级应用;而不同J2EE供货商为了确保不同J2EE平台与产品之间的兼容性,同会支持不同J2EE版本内所拟定的标准21。也就是说,使用J2EE来架构的应用系统,根本不需要或者只是需要做少许的代码的修改,就可以部署在不同的应用服务器上,因此,我们可以说其大大地提高了系统的可移植性(Portability) 22。 J2EE要根据企业与企业之间的运算来构筑JAVA开发环境,因此其技术规范是由SUN和IBM等厂商同其他业界一起共同协作拟定的23。J2EE架构定义各种各样不同类型组件,如Web Component、EJB Component等,并且这些组件是可以循环反复地使用的,不管是已经用于开发过程中的组件,又或者是新购买的组件,都能够进一步再组合使用,将其搭配成不同的系统24。 开发人员在系统的开发过程之中,底层的那些繁琐的程序编写工作,可直接使用不同的开发平台配置完成。他们的主要的工作重心是各对种应用系统的商业逻辑与架构的设计,这样就能够使应用系统的开发与部署效率得到很大的提升,简化了其操作的过程25。Enterprise Java Beans(EJBs)是J2EE的核心规范。根据EJB特性的不同,可以将其一共分为三种,具体就是Session Bean、Entity Bean,以及 Message Driven Bean26。其中最初只有两种EJB,就是Session Bean 和Entity Bean,这两种EJB规格在EJB 1.x版本推出时就已经存在,而在EJB 2.0的规格才出现了Message Driven Bean这种类型27。2.2.2 J2EE常用组件每一个完整的由J2EE组成企业级应用,就是将其不同的部分一个一个地放置到与之相对应的不同容器之中。这些容器中都包含各种需要的已经部署好的组件,而这些组件又都能够使用各种J2EE Service/API。J2EE包括28: Web容器是服务器端容器,这个容器有两种组件,一个是Servlet,另一个是JSP,都属于Web服务器的功能扩展,功能主要是用于接受Web请求,然后返回动态的Web页面。Web容器中的组件的实现需要使用EJB容器中的组件完成复杂的商务逻辑。 EJB容器也是服务器端容器,包含的组件为EJB,全称为Enterprise JavaBeans,功能主要用于服务器端的商业逻辑的实现,属于J2EE的核心之一。EJB规范为了简化企业级应用的开发,定义了一个开发和部署分布式商业逻辑的框架,使其能够实现可移植性,能够伸缩,满足多用户要求、可以分布式地处理各项事务,保证安全性等29。 Applet容器是客户端容器,包含的组件为Applet。在实际情况中,由于Applet属于一种轻量级客户端,是需要嵌入在浏览器之中的,因此一般不使用,如果出现使用Web页面无法充分地表现数据或应用界面的情况时才使用。Applet是一种替代Web页面的手段,为了安全性的考虑,开发人员只能够使用J2SE开发Applet,它根本不能使用J2EE的各种API和Service30。 Application Client容器是客户端容器,包含的组件为Application Client。Application Client与Applet相比较,它是一种较重量级的客户端,J2EE的大多数Service和API都能够被它利用。 有了上述四个容器之后,就能够利用它们来灵活地架构相应企业级应用了。J2EE为了能够实现面向浏览器的数据表现和面向桌面的数据表现,在View部分,提供了以下三种手段:Web容器中的JSP(或Servlet)、Applet和Application Client。实现Model部分的业务逻辑的主要是EJB;而实现Controller部分业务流程控制的主要手段是Web容器中的Servlet。J2EE的各种服务和API则是用来实现与各种企业资源和企业级应用相连接31。在J2EE的各种服务和API中,用于企业资源(如企业的各种资源信息和数据库等)的连接的是JDBC和JCA,而实现Web Services和Web Services连接的基本支持的是JAX-RPC、JAXR和SAAJ。 在实践中,我们的开发人员在开发企业级应用时,要能够根据不同目标与需要选择相应组件和服务。下面我们就对J2EE的各种组件、服务和API,进行更加详细的描述32:l Servlet Servlet是Java平台上的CGI技术。它是一种主要在服务器端运行,并用于动态地生成Web页面的技术。与以前传统的CGI或者是目前许多其它类似CGI的技术相比较而言,Java Servlet的最大优点就是使用非常方便且运行效率极高。因为Servlet是依靠线程的方式来支持并发访问的,所以重复的请求不会导致同一程序的多次转载33。l JSP JSP全称为Java Server Page,是一种Microsoft ASP、PHP等技术非常类似技术,因为是集成了HTML代码和和嵌入其中Java代码。页面设计人员和程序员可以借助形式上的内容和外观上的分离,将Web页面制作的任务进行分解,最后再通过JSP技术将页面合成起来。为了使JSP的效率和功能与Servlet保持相同水准,同时具有高效率,在实际运行的时候,首先JSP将转换成Servlet,然后就会以Servlet的形态来进行编译和运行。l EJB EJB是Java服务器的服务框架规范,软件厂商根据它来实现EJB服务器。EJB定义了一组可重用的组件:Enterprise Beans。开发人员在实践中,像搭积木一样,将一个一个的组件配搭起来构筑分布式应用。整个组件的配搭过程就是将所有的Enterprise Beans都放置到相对应的EJB服务器之中。 EJB规范定义了EJB组件在何时如何与它们的容器交流, EJB服务器管理着EJB容器,它是容器和低层平台的桥梁,而且使该容器可以访问系统服务。有了EJB容器,开发人员就不用再考虑如安全性、远程连接、生命周期管理及事务管理等技术环节,这些都由EJB容器代为其处理了,因此商业逻辑的开发过程得到简化。EJB中定义了三种Enterprise Beans34:会话 Bean (Session Bean) Entity Beans Message-driven Beansl JDBC JDBC英文全称为Java Database Connectivity,是Java数据库连接桥。JDBC对程序员来说就是API,是能够用标准SQL(Structured Query Language,结构化查询语言)实现对数据库进行访问的接口。数据库开发人员用JDBC API编写应用程序时,完成的任务就是连接数据库和使用SQL命令执行各种SQL语句实现对数据库的具体操作。Java中的JDBC为访问不同的数据库提供了一种统一的途径,类似于Microsoft平台中的ODBC(Open Database Connectivity)的作用。第三章 系统的设计微生物群落生物信息数据库用Spring MVC作为MVC开发模式,利用iBATTS作为ORM数据持久层框架,用JSP结合JSTL作为表现层实现技术。利用Lo酬来处理在程序运行过程中产生的大量日志输出语句。对于数据的缓存,将利用OSCache组件。为了协同各个程序员的相互开发以及为了提高程序的开发效率,在程序开发过程中,特地引入了CVS(Version Control System)版本控制系统。系统整体结构如下35:用户界面,负责业务数据的收集与表示MVC架控制层,控制业务逻辑层与表示层的交互业务逻辑实现层数据访问对象与持久化对象交互实现实体一关系映射存放数据图3.1 微生物群落生物信息数据库系统整体结构图3.1 系统总体设计思路 此微生物群落生物信息数据库由后端内容管理系统CMS(Content Management System)和前端显示界面两部分组成。在论文的整个写作过程中,将以后端内容管理系统为例,展示SpringMVC,iBATIS,OSCACHE和log4j在轻量级Web开发中的应用。以下便是微生物群落生物信息数据库的运行流程36。对生物信息库提出读、增、删、改的请求对生物信息库的视图表示对生物信息库的视图解析对用户请求进行分发对生物信息库的请求与相应的控制器进行映射生物信息库控制器的实现生物信息库业务逻辑层的实现生物信息库DAO层的实现生物信息库持久层的实现Mysql图3.2 微生物群落生物信息数据库的运行流程从上图可以看出,首先由系统管理人员对系统提出增、删、改的请求,然后由SpringMVC的分发器对用户的请求进行分发。在Spring中,分发器(DispatcherServlet)的定义在web.xml中。当DispatcherServlet配置好后,一旦DispatcherServlet接收到请求,DispatcherServlet就开始处理请求。DispatcherServlet在web.xml中进行定义37。分发器是将用户的请求分发到不同的程序模块进行处理,这里不同的程序模块可以是指提供给用户表示层,也可以是提供给需要进行业务逻辑处理的控制器( Controller )。当由分发器将用户的请求转入到控制器后,然后就由微生物群落生物信息数据库的业务逻辑层完成相应的逻辑处理,在程序中的体现包括了:DAO接口,DAO接口的实现,Service接口以及Service接口的实现。最后一层是微生物群落生物信息数据库的持久层。持久层的实现将由iBATIS来完成。从总体上看,微生物群落生物信息数据库分为三层:表示层,业务逻辑层和持久化层。整个系统由Spring构成,很好的体现了MVC的思想。程序的总体设计结构非常清晰,iBATIS作为数据库持久层,映射了数据库表的结构,包括了多个Java类,主要是数据库字段的get()和set()方法。在Spring的相应的Controller中调用业务逻辑层,来实现对数据持久层。3.2 数据库构建和相关关系3.2.1设计原则 数据库设计是现实世界的实体模型与需求转换成数据库的模型的过程,它是建立数据库应用系统的核心问题。数据库及其应用的性能都建立在良好的数据库设计基础之上。设计数据库遵循一定的规则,在关系型数据库中,这种规则就是范式,范式是符合某一种级别的关系模型的集合。采用范式的优点是减少数据的冗余,节约存储空间,同时增加增、删、改的速度,但是对完全规范的数据库查询,通常需要更多的连接操作,从而影响查询的速度。因为越规范化的设计,产生的关系将会越多,连接操作就越频繁,而连接操作是最费时间的,特别对以查询为主的数据库应用来说,频繁的连接会影响查询速度。因此,有时为了提高某些查询速度或应用的性能需要破坏规范化的规则,如:增加冗余列、增加派生列、重新组表和分割表等,我们称之为反规范。3.2.2微生物群落生物信息数据库的概念结构设计将微生物群落生物信息数据库的需要分析抽像为信息结构即概念模型的过程就是微生物群落生物信息数据库的概念设计过程。在微生物群落生物信息数据库的概念设计过程中,将使用Sybase公司提供的PowerDesigner工具。微生物群落生物信息数据库一共包括两大组成部分,一部分包括Maps , LinkageGroup ,MolecularMarker和QTL。另一部分包括Gene, Protein和adminoMaps, LinkageGroup, MolecularMarker和 QTL的概念设计如下:图3.3 Gene E-R图图3.4 admin E-R图图3.5 Protein +region E-R图.3微生物群落生物信息数据库的逻辑结构设计 逻辑结构设计的任务就是把概念结构设计阶段设计好的E一图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。在构建微生物群落生物信息数据库的过程中,采用了MySQL数据库。促使我们采用MySQL有以下几个重要原因: (1): MySQL支持5000万条记录的数据仓库。完全能满足微生物群落生物信息数据库的需要(微生物群落生物信息数据库的记录条数在300万左右)。 (2): MySQL适应于所有平台。 (3): MySQL是开源数据库,不涉及版权问题。根据前面的概念设计,数据库包括maps, IinkageGroup, molecularMarker, qtl, gene, protein,region, admin, articles。第四章 系统的实现4.1 微生物群落生物信息数据库中的Spring MVC模式 在陈述微生物群落生物信息数据库中的SpringMVC时,首先给出微生物群落生物信息数据库的整个工程结构图,在微生物群落生物信息数据库的开发过程中,应用了集成开发环境IntelliJ IDEA 6.0,IntelliJ与Eclipse不同,它占用内存较少,最重要的是,它几乎没有任何插件。图4.1 工程结构图按照SpringMVC的原则,从三个层次来分析微生物群落生物信息数据库的框架。首先是view层,也就是视图层,展现给用户的界面。在这一层,主要用html和JSTL来完成。要正确应用JSTL来完成开发任务,需要在jsp页面中对JSTL标记进行定义:核心标记 国际化标记 常用函数库另外,在程序中要正确引用JSTL标签,除了在jsp文件头定义以上的三个标记之外,需要在WEB-INF目录下面添加一个名为tlds的目录,在里面加上相当的tld文件。比如:c-1-1d,fint.tld等。图4.2 tld文件 除了以上两个步骤之后,最后需要在工程中加入两个JSTL必须使用的J ar文件。一个是standard.jar(标准标签库包)。另外一个则是jstl.jar文件。 在控制器中,可以完成iBATIS中定义的对数据库的相关操作,也可以返回一个页面给用户,让用户做相应的选择。要让程序从一个视图转向到一个控制器,必须定义一个一对一映射,示例代码如下: /jsp/manager/qtl.jsp /jsp/manager/linkageGroup.jsp 控制层由位于src目录下的web中的java源文件来完成。所有的Controlle:都实现了org.springframework.web.servlet.mvc.Controller接口。Model层,也就是业务逻辑处理层,用来在微生物群落生物信息数据库中完成相应的业务逻辑处理。在微生物群落生物信息数据库系统中,Model层的实现总共有一个Dao接口、一个DaoImpl类、一个Service接口、一个ServiceImpl类和相应的DataObject。从所周知,Spring是提倡基于接口编程的。但有些类,需要用Impl实现的机会非常小,就像C一中的.h和.cPP一样。如果生硬的将接口和对接口的实现分开来做的话,就会徒增维护的繁琐和代码浏览跳转时的不便。因此,真正要把每个类都分离成接口和对接口的实现并不一定是件好事。只在有多个独立实现,或者消除对实现类的依赖时,才需要分离接口。在Spring中,Spring IoC本身是不会强制基于接口的,但DAO一般要使用Spring的声明式事务机制,而声明式的事务机制又是使用的Spring AOP来实现的。Spring AOP的实现机制包括动态代理和Cgilib2,其中Spring AOP默认使用的Java动态代理是必须要基于接口的。因此,在Spring中,Dao的实现必须要求基于接口。在微生物群落生物信息数据库中,为了简化程序的设计,将Spring AOP的实现改用Cgilib2。只要指定使用声明式事务的FactoryBean使用CGLib的方式来实现AOP,就可以不基于接口编程了。程序代码如下: PROPAGATION REQUIRED,-Exception PROPAGATION REQUIRED,-Exception PROPAGATIONes REQUIRED,-Exception PROPAGATIONee REQUIRED,-Exception PROPAGATIONJZEQUIRED,-Exception PROPAGATION-REQUIRED,-Exception PROPAGATIONee SUPPORTS,-Exception PROPAGATIONee SUPPORTS,-Exception 上面这段代码的含义就是指在程序中使用了声明式事务代理,PROPAGATIONse REQUIRED的含义是指如果在执行key所指定的动作时,如果没有发现事务,就新建一个事务。PROPAGATION SUPPORTS是指如果在执行key所指定的操作时,没有发现事务,就以非事务的方式执行。4.2 log4j. OSCACH E和CVS在微生物群落生物信息数据库中的结合4.2.1 log4j在微生物群落生物信息数据库中的应用Log4j是Jakarta下的一个开源代码的子项目,用log4j,可以使用定制的格式,把调试信息和日志信息输出到一个或多个需要的地方。在Web应用中一般使用一个专门的Servlet来完成log4j的配置,并保证在web.xml的配置中,这个Servlet位于其它Servlet之前,以便在Servlet和JSP中调用。首先需要在perties对log4j进行相应的配置,示例代码如下:log4j.rootLogger=INFO,.ibatis=INFO /配置iBATIS的日志级别为INFOlog4j.appender.ROOT=org.apache.log4j.Ro1lingFileAppenderlog4j.appender.ROOT.FiIe=gene.log/将日志输入到gene.log中进行保存log4j.appender.ROOT.layout=org.apache.log4j.PatternL,ayoutlog4j.appender.ROOT.layout.ConversionPattem=%d %t %c %-Sp一%m%nlog4j.loggerjava.sql.Statement=DEBUG /对SQL的日志进行配置log4j.loggerjava.sql.PreparedStatement=DEBUGlog4j.loggerjava.sql.ResultSet=DEBUG4.2.2 OSCACHE在微生物群落生物信息数据库中的应用使用OSCache组件分两步。一是正确配置perties,并将它放置在WEB-INF/CLASSES目录下。二是在DAO层(与iBATIS的结合)正确地引用所配置的OSCache组件。perties的配置如下:cache.memory=iz uecache.capacity=1000 /缓存元素的个数cache.key=-oscache一 cache;cache.persistence.overflow.only=true;配置完成之后,就可以在Dao层的xml文件中对OSCache进行引用了: flushInterval hours-24h /强制对OSCACHE进行刷新尽管OSCACHE不需要进行相关配置,只需加入配置文件即可,但如果需要在某个类中应用OSCACHE组件,就必须要对该类实现Serializable接口。4.2.3 CVS在微生物群落生物信息数据库中的应用CVS帮助开发者管理所有的版本,极大的提高软件开发工作的效率,节省成本。在软件开发管理中,对各种各样变化的管理是至关重要的。因为源代码、文档、数据这

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论