




已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于J2EE的数码相机网上销售系统【摘要】随着电子产品的不断增多,价格不断下降,人们生活水平的提高,数码相机已经从“家庭梦想”转变为了“生活物品”。数码相机网上销售系统基于J2EE应用程序开发体系,借助于Struts、Jdon和Ibatis开发框架,结合行业成熟数据库解决方案Mysql数据库为商品提供信息存储支持。本论文重点研究数码相机的网上订购和销售管理,系统应用模型设计,功能模块设计,Mysql数据库建设,J2EE应用程序开发以及Struts、Jdon和Ibatis开发框架应用。【关键字】网上销售系统;数码相机;J2EE;Struts;Jdon;Ibatis;Mysql数据库Online Sale System of Digital Camera on J2EELv Zhonglin【ABSTRACT】With the growing number of electronic products, prices drop, peoples living standards improved, digital cameras have moved from the dream home changes to goods of life.Online sales of digital camera system is based on J2EE application development system, through the use of Struts, Jdon and Ibatis development framework, combined with a mature industry Mysql database solution database to provide information for the goods storage support. This paper focuses on the digital camera online ordering and sales management, system modeling, design of functional modules, Mysql Database, J2EE application development, as well as Struts, Jdon and application development framework Ibatis.【Keywords】Online Sale System; Digital Camera; J2EE; Struts; Jdon; Ibatis; Mysql Database目 录1 引言11.1 选题背景及意义11.2开发工具简介11.2.2表示层框架Struts概述11.2.3业务层框架Jdon概述21.2.4 Ant项目工具概述32 需求分析42.1功能需求42.2性能需求42.2.1用户并发登录42.2.2功能扩展性问题52.3可行性分析52.3.1 Jdon框架的缓存技术52.3.2 组件复用技术53总体设计和界面设计73.1 系统体系结构设计73.1.1 域模型设计73.1.2 持久层设计73.1.3 业务层设计83.1.4 显示层设计103.2 数据库设计114 开发过程144.1 Jdon框架核心144.1.1 Jdon框架应用第一步144.1.2 应用服务组件配置164.1.3 基础组件配置说明174.2 增删改查(CRUD)快速开发184.2.1 Struts框架基础184.2.2 Jdon框架中的CRUD设计204.2.3 Jdon框架对CRUD的具体实现214.2.4 ModelHandler类的配置224.3 项目调试274.3.1 开发平台和项目打包274.3.2 调试305 结 论33参考文献34致谢35Contents1 Introduction11.1 Background and significance of topics11.2 About tools11.2.2 Presentation layer frameworkStruts overview11.2.3 Business layer frameworkJdon overview21.2.4 Ant project tools overview32 Need analysis42.1 Functional requirements42.2 Performance requirements42.2.1 Concurrent user login42.2.2 Extension issues52.3 Feasibility analysis52.3.1 Cache of Jdon framework52.3.2 Component reuse53 The overall design and interface design73.1 System architecture design73.1.1 Domain model design73.1.2 Persistence layer design73.1.3 Business-layer design83.1.4 Show-layer design103.2 Database design114 Development process144.1 The core of Jdon framework144.1.1 The first application of Jdon framework144.1.2 Application service components configuration164.1.3 Configuration based on components174.2 Rapid development of CRUD184.2.1 The basis of Struts framework184.2.2 The design of CRUD in Jdon framework204.2.3 The concrete realization of CRUD in Jdon framework214.2.4 The configuration of ModelHandler class224.3 Project commissioning274.3.1 Development platform and project package274.3.2 Commissioning305 Conclusion33References34Thanks351 引言1.1 选题背景及意义调查证实潜在家庭上网用户其实大部分是平民百姓,随着资费和上网终端价格的下降,互联网将逐步走入其家庭。随着 网络平民化趋势的出现,为了适应目标市场的变化,我国电子商务的运作也应适时地调整战略。网上购物商品应尽量满足平民消费者的以下要求:家庭日用品逐渐增多;家庭易耗但无须仔细挑选的商品增多;标准商品逐渐增多;网络营销中间环节应减少;商品价格水平应降低。当前,网上购物已被消费者提上了议事日程。网上购物是消费者参与电子商务的窗口,而目前我国电子商务网站的整体水平却不高。随着科技的发达,相机价格的不断下降,数码相机迅速的走进了平民百姓的生活之中,不久前还有杂志在讨论数码相机还是传统相机的问题,然而没过多久的今天,这个问题就有了答案了,数码相机取代传统的胶片相机只是时间的问题了,感受最深的当属商场的照相器材柜台和小照相馆了,胶卷卖不动了,就是最好的答案。据一些权威的人士估计,到了2010年,传统相机将会被数码相机全面取代,传统相机将从历史舞台上退出。本系统是数码相机的一个简易销售系统,包括数码相机浏览,用户购物车和用户订单,系统的特点是缓存功能,它能将应对大规模用户造成的拥堵问题,系统第一次从数据库中提取浏览数据后,就可以保存到内存中,从而以后的用户再次浏览数码相机时,可以直接从内存中读取,而不用再费时的从数据库中提取,这样就为用户节省了大量的时间,从而增大了用户的满意度。1.2开发工具简介1.2.2表示层框架Struts概述Struts是一个免费的开源的表示层框架,由一组相互协作的类、serlvet以及JSPTagLib组成。基于Struts构架的Web应用程序符合MVC三层设计模式。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,并且把servlet、JSP、自定义标签和信息资源整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间。因此,Struts有广泛的用户群,是一个非常不错的应用框架。Struts有自己的控制器 (Controller),同时整合了其他的一些技术去实现模型层(Model)和视图层(View)。在模型层,Struts可以很容易的与数据访问技术相结合,包括EJB,JDBC和 Object Relation Bridge。在视图层,Struts能够与JSP,Velocity,Templates,XSL等等这些表示层组件相结合。1.2.3业务层框架Jdon概述Jdon Framework(简称JF)是一套适合开发中小型J2EE/JavaEE应用系统的轻量框架。是国人拥有自主产权的中间件或框架产品,入选全球SUN公司网站企业应用目录。 JF诞生于2004年底,作为中国第一个开源框架,创新地综合了当时两项新技术思想:领域建模和Ioc及AOP构件管理;不仅如此,而且克服了同时期这两类框架的缺点(Spring 1.x无容器Session状态支持;Ruby on Rails混淆业务层),经过多年发展和众多用户的使用及其完善,JF已经发展成为一套国人自主的、面向对象的、基于构件的、成熟的优秀轻量开发框架。 JF与国内其他快速开发工具相比:JF是严格坚持分层架构(表现层、业务层和持久层)下的快速开发。 JF是快速性和灵活性综合平衡的产物,它带来了多快好省的简单的解决之道:对于小项目,使用Jdon框架可以开发出高质量可扩展的好的系统;对于大项目,使用Jdon框架可以更快地开发出系统。 JF技术特点,了解Jdon框架更多详细细节,可进入文档章节,在线应用案例。 Extendable(灵活性) POJOs Autowiring,POJO之间自动配对,自动寻找依赖关系,POJO之间实现最大限度的松耦合,从而实现任何对象都是是可嵌入的(Plug-in or Embeddable),或者说是可定制的,根据使用者要求自行进行觉得构件取舍。 JF采取Ioc/DI容器内核实现构件/组件管理,所有组件包括框架组件都是可替换的;应用者可以将自己开发的构件/组件放入JF,使用JF作为内核,形成自己的行业专业开发框架。 High-Availability(易用性) JF与功能丰富而复杂国外框架如Spring相比,明显特点是易用性,简单方便,POJO Autowiring可以简化大量对象创建的编码工作,提高频繁修改代码的效率;在坚持多层架构的前提下,提供了数据增删改查(CRUD)和批量查询这两个最常见的基础功能的模板化开发,以配置替换了MVC模式中Controller/Action这个既耗时又不是业务重点代码工作。 Scalability(可伸缩性) 使用JF可以开发出两种不同系统:轻量的纯Web应用系统或Web+EJB应用系统(注:EJB代表大型分布式系统);可以并行支持两种服务架构(EJB Service和POJO Service)在一个系统内运行;通过配置可以很方便地在纯Web系统和EJB系统之间切换;支持远程胖客户端Rich client访问。 Performance(良好的性能) JF通过缓存不但优化了应用系统性能,还优化了框架本身的运行性能(如动态代理AOP)。JF可以保证应用系统的良好性能,JF提高了大数据量的查询性能:对模型对象通过缓存拦截器提升性能;对POJO服务使用对象池拦截器等。1.2.4 Ant项目工具概述Ant是Apache提供给Java开发人员的构建工具,它可以在Windows OS和Unix OS下运行,它不仅开放源码并且还是一个非常好用的工具 Ant-Another Neat Tool,是一个基于Java的跨平台构建工具,作为一个优秀的构建工具Ant有如下的优点: 语法简单,便于学习,如果你使用过XMl,就会更加感觉到这一点; 易于使用,可以减少基于Make方法的大型软件项目中编写makefile的人数; 跨平台,以一种灵巧的方式管理Java的classpath和文件的目录结构; 运行速度快,所有的Java都可以在Ant的JVM中启动; 与Junit测试框架紧密集成以实现极限编程的单元测试; 使用Java语言可以很容易的对他进行扩展; 内置对J2EE的开发的支持,如EJB的编译和打包等。Ant运行需要的XML格式的文件不是Shell命令文件。它是由一个Project组成的,而一个Project又可分成可多target,target再细分又分成很多task,每一个task都是通过一个实现特定接口的java类来完成的。 Ant的优点 Ant是Apache软件基金会JAKARTA目录中的一个子项目,它有以下的优点。 跨平台性。Ant是存Java语言编写的,所示具有很好的跨平台性。 操作简单。Ant是由一个内置任务和可选任务组成的。Ant运行时需要一个XML文件(构建文件)。 Ant通过调用target树,就可以执行各种task。每个task实现了特定接口对象。由于Ant构建文件时XML格式的文件,所以和容易维护和书写,而且结构很清晰。 Ant可以集成到开发环境中。由于Ant的跨平台性和操作简单的特点,它很容易集成到一些开发环境中去。 Ant 开发 Ant的构建文件 当开始一个新的项目时,首先应该编写Ant构建文件。构建文件定义了构建过程,并被团队开发中每个人使用。Ant构建文件默认命名为build.xml,也可以取其他的名字。只不过在运行的时候把这个命名当作参数传给Ant。构建文件可以放在任何的位置。一般做法是放在项目顶层目录中,这样可以保持项目的简洁和清晰。2 需求分析2.1功能需求首先,数码相机的网上销售系统必须能实现用户登录,商品浏览,购物车管理,用户结帐等功能;再次要实现JDON框架的缓存功能,也就是第一次浏览商品时,是从数据库中提取数据的,而以后则是从缓存中提取数据,这也是本系统设计的特色之处。另外,三层架构的设计给系统很大的扩展性。(1) 用户登录支持用户注册,用户登录。(2)商品浏览数码相机的厂家浏览,系列浏览,产品浏览。厂家浏览是最大的类别,例如包括:佳能,索尼,尼康等;系列浏览是厂家的下一类别,例如:佳能包括IXUS系列等;商品浏览是产品系列的下一类别,例如:佳能的IXUS系列包括佳能IXUS80IS,佳能IXUS980IS等。(3) 购物车管理用户当浏览到自己满意的产品时可以加入自己的购物车。非登录用户和登录用户都可以将购物车条目保存在自己的会话中,但是非登录用户如果想将下订单,则必须先登录,在这里必须有一个授权检验。2.2性能需求2.2.1用户并发登录以前的Jsp和JavaBeans来写复杂或大访问量的系统,至于如何控制服务器资源,只有数据库连接池是不够的,因为Bean才是真正的资源消耗重点。Java有一个垃圾回收机制,总是在内存剩余大概5%才启动,因为它中断权限最高,它运行时,其他全部停止,因此,我们不希望垃圾回收机制频繁启动,那么就要控制内存不要触碰剩余5%底线。而在普通JavaBeans系统中,每一次客户端请求访问时,系统总是新建一个JavaBeans或Java Class,如果并发访问量很大,比如并发10人或100人,再加上你的系统复杂,有很多JavaBeans,假设有30个,那么这下子100个并发请求来,就有3000个Java对象创建,然后下一批有来一次100个请求,这象潮水一样。每次请求产生的3000个对象会继续占用内存,不会被垃圾回收机制回收,因为垃圾回收机制只有等到内存剩余5%才启动,这样,你的内存无论多大,取决于访问量,总会被耗光,最后垃圾回收出来收拾残局,你的业务系统被暂停甚至缓慢。所以,这里需要有资源控制,将内存能够控制住,不要被无限消耗,最后导致垃圾回收启动,造成系统好像死机。控制资源就是使用Pool或Cache来控制,而Jdon框架可自行加入。2.2.2功能扩展性问题软件复用本质是为了快速适应不断变化的需求(adapt to changing needs ),两者目标是一致的,但是当我们过于注重软件复用(如组件复用component reuse又译构件复用)时,千万需要牢记:快速适应不断变化的需求是根本目的,它的重要性要重于组件复用技术本身。如何实现复用重点在于适应需求变化,它的原则是给予人们可以裁剪他们系统的能力,应适应需求变化,建立一个适应需求变化的系统,允许系统在一系列小的、可控制的步骤上进行改变。这样组件就诞生了,将不变的通用的东西抽象出来,以达到在不同项目中重用复用,将我们有限的精力集中在项目具体变化和特点上。当然这些抽象复用的东西之间彼此必须是松耦合,这样才能根据需求挑选组合。2.3可行性分析2.3.1 Jdon框架的缓存技术Jdon框架通过两种方式使用Model缓存:CRUD框架内部使用,如果你使用Jdon框架提供的CRUD功能,那么其已经内置Model缓存,而且会即时清除缓存。通过CacheInterceptor缓存拦截器,如果你不使用Jdon框架的CRUD功能,缓存拦截器功能将激活,在向Service获取Model之前,首先查询当前缓存器中是否存在该Model,如果有从缓存中获取。当你的Model中数值更改后,必须注意自己需要手工清除该Model缓存。Jdon框架除了提供单个Model缓存外,还在持久层Dao层提供了查询条件的缓存,例如如果你是根据某个字段按照如何排列等条件进行查询,这个查询条件将被缓存,这样,下次如果有相同查询条件,该查询条件将被提出,与其相关的满足查询条件一些结果(如符合条件总数等)也将被从缓存中提出,节省翻阅数据库的性能开销。在一般情况下,前台表现层通过getService方法访问服务层一个服务,然后通过该服务Service获得一个Model,这种情况Jdon框架的缓存拦截器将自动首先从缓存读取。2.3.2 组件复用技术软件组件(Software components)是软件提供业务或技术功能的基本单元或元素,这些单元可以独立地被部署、他们可以自我管理并且被虚拟部署到网络的任何地方,业务组件((Business components)执行业务逻辑、遵循一定的业务规则并且管理相应的数据(数据库操作称为manage corporate data);而技术组件(Technical components)则提供相应的平台以便业务组件可以依赖其上运行,例如权限、组件管理等。JdonFramework/Spring都属于一种技术组件框架,而我们具体项目的业务层代码如果能够提炼可以复用,则是业务组件;JdonFramework/Spring则都提供了业务组件赖于运行的一些核心底层机制,特别是组件的管理,如组件的创建、组件的获得、组件的资源管理、组件的消亡等生命周期支持,所以,我们可以在JdonFramework/Spring中加入自己的业务组件,当然,JdonFramework还提供了Session等状态管理的支持功能,为业务组件提供了更广阔的生命周期支持。组件复用技术以前是停留在编译前期,也就是说:我们在编程时,导入所需要的其他组件Jar包,然后混同我们的项目编译部署,但是这需要通过专业技术人员实现,很显然是不能适应原则中第一句:给予人们可以裁剪他们系统的能力应适应需求变化,这里的“人们”应该是指软件最终用户,应该给予用户自己改变系统的能力,也就是说:需要提供软件系统运行时能够动态改变自身的能力。组件复用技术以前停留在软件编译阶段,现在则更靠前,必须在软件运行阶段,当然对技术要求相当高,需要语言支持RTTI(简单又神秘的Class.forName发挥作用了)现在由于AOP技术出现,AOP有一种动态Weaving技术,实际就是在软件运行时实现动态拦截,这样给予终端用户更大的改变系统能力,他们基本可以以动态插拔的概念实现多个组件的组合运行。我把编译阶段的组件组合方式(我更愿意称为静态组合)和运行时组合等两种处理方式,合并称为过滤器模式,如果你希望采取组件可插拔式的复用,就可以使用过滤器模式。3总体设计和界面设计3.1 系统体系结构设计Java源代码的工程树如图3.1所示。其中camera.domain.*是系统的域模型,camera.persistence.*是持久层,camera.presentation.*是显示层,camera.service.*是业务层,jdonframeword_iBATIS.xml是配置文件,起着将这几层连接起来的作用。图3.1 java源代码3.1.1 域模型设计根据系统需求的分析,应将整体分成这样几个模型:帐户信息模型Account,数码相机厂家模型Category,数码相机厂家系列模型Product,数码相机产品产品模型Item,购物车模型CartItems,购物车条目模型CartItem,订单模型Order,订单条目模型LineItem,还有一个记录订单唯一标识码的模型Sequence。数码相机产品模型中含有厂家的系列模型的引用,这样当系统需要提取产品模型的厂家系列时,只需根据引用就可以使用厂家系列模型了。购物车模型里面根据用户需要可以容纳购物车条目模型,同样购物车条目模型里面有对数码相机产品模型的引用。订单模型里也可包含一个或几个LineItem模型,同样LineItem里面有对产品模型的引用。3.1.2 持久层设计持久层的作用:在运行时将内存里面的模型持久到数据库中。本系统使用的持久层框架是ibatis。camera.persistence.dao.iface是持久层接口包,camera.persistence.dao.sqlmapdao是持久层接口的实现,camera.persistence.dao.sqlmapdao.sql是为持久层框架提供的所有sql语句操作。另外,还有两个中介文件都在camera.persistence.dao包中:DaoManagerFactory和SqlMapDaoTemplateFactory,这两个文件起着外观对象的作用,为持久层的实现提供了一个一致的界面,这里使用了java设计模式中的Faade模式。3.1.3 业务层设计业务层是本系统的核心,其中camera.service是业务层接口,camera.service.bo是业务层接口的实现。业务一共分为四类:帐户操作AccountService,购物车操作CartService,订单操作OrderService,产品显示操作ProductManager。业务层是通过调用持久层的接口,并为显示层提供服务的。Jdonframework_iBATIS.xml配置文件的内容如下:3.1.4 显示层设计显示层起着页面的页面跳转的作用,本系统是使用struts框架实现的。camera.presentation.action是显示层的动作包,用来执行一些简单的业务处理和页面跳转。camera.presentation.form是显示层的表单包,提交表单就是以此包作为传递对象的。其实在开发项目时,在做好域模型就可以花开两朵个表一枝,表示层和持久层可以同时开发。表示层的配置文件统一命名为struts-config-*.xml,它们起着业务跳转的作用。Web.xml是项目的总配置文件,里面指处了业务层配置文件jdomframeword_iBATIS.xml和struts-config-*.xml的位置。3.2 数据库设计数据库是域模型对象的持久化容器。Account数据表和Signon数据表主要是用来持久化用户模型的。表3.1 Account数据表表3.2 Signon数据表Category数据表、Product数据表和Item数据表主要是用来持久化产品分类以及产品介绍模型的,Inventory数据表是用来存放Item数据表对应产品的库存数量的。表3.2 Category数据表表3.7 Product数据表表3.4 Item数据表表3.3 Inventory数据表Orders数据表主要是用来持久化订单模型的,LineItem数据表是维护一个订单条目模型的。表3.6 Orders数据表表3.5 Lineitem数据表表3.2 Sequence数据表4 开发过程 本系统是以Jdon框架为核心的开发完成的,其中struts框架负责显示层,ibatis框架负责持久化。开发软件为eclipse和ant,其中eclipse只负责源码开发,其它都由ant负责。以jboss作为服务器,使用Log4j作为错误输出在jboss控制台显示。4.1 Jdon框架核心Jdon框架可以实现几乎所有组件可配置、可分离的管理,这主要得益于Ioc模式的实现,Jdon框可以说是一个组件(JavaBeans)管理的微容器。在Jdon框架中,有三种性质的组件(JavaBeans):框架基础组件;AOP拦截器组件和应用服务组件。三种性质的组件都是通过配置文件实现可配置、可管理的,框架应用者替换这三种性质组件的任何一个。框架基础组件是Jdon框架最基本的组件,是实现框架基本功能的组件,如果框架应用者对Jdon框架提供的功能不满意或有意替换,可以编写自己的基础功能组件替代,从而实现框架的可彻底分离或管理。Jdon框架功能开发基本思路是:当有新的功能加入Jdon框架时,总是让该功能组件实现可配置和可更换,以使得该功能代表的一类一系列其他功能有加入拓展的余地。应用服务组件是框架应用者针对具体项目设计的组件,如用户管理AccountService、订单服务OrderService等都属于应用服务组件。AOP拦截器组件主要是指一些应用相关的通用基础功能组件,如缓存组件、对象池组件等。相当于应用服务组件前的过滤器(Filter),在客户端访问应用服务组件之前,必须首先访问的组件功能。这三种性质组件基本函括了应用系统开发大部分组件,应用服务组件是应用系统相关组件,基本和数据库实现相关,明显特征是一个DAO类;当应用服务组件比较复杂时,我们就可以从中重整Refactoring出一些通用功能,这些功能可以上升为框架基础组件,也可以抽象为AOP拦截器组件,主要取决于它们运行时和应用服务组件的关系。当然这三种性质框架组件之间可以相互引用(以构造方法参数形式),因为它们注册在同一个微容器中。使用Jdon框架,为应用系统开发者提炼行业框架提供了方便,框架应用者可以在Jdon框架基本功能基础上,添加很多自己行业特征的组件,从而实现了框架再生产,提高应用系统的开发效率。4.1.1 Jdon框架应用第一步在JdonFramework中,所有组件都是在配置文件中配置的,框架的组件是在container.xml和aspect.xml中配置,应用系统组件是在jdonframework.xml中配置,应用系统组件和框架内部或外部相关组件都是在应用系统启动时自动装载入J2EE应用服务器中,它们可以相互引用(以构造器参数引用,只要自己编写的普通JavaBeans属于构造器注射类型的类就可以),好似是配置在一个配置文件中一样。因此,组件配置主要有三个配置文件:应用服务组件配置container.xml、AOP拦截器组件aspect.xml和应用服务组件配置jdonframework.xml。使用Jdon框架时,需要在应用系统中指定自己定义的配置文件,分两步:1. 定义自己的jdonframework.xml配置文件,这是必须的步骤。Jdon框架中整合了Struts前台表现层技术,因此可以通过Struts的Plugin实现jdonframework.xml启动,这样做的好处,可以实现Struts多模块开发,一个Struts项目中可能有多个功能模块,每个功能模块涉及从页面表现(struts配置和tiles配置)、模型设计以及后台持久化等横向一系列组件,Jdon框架通过Plugin启动jdonframework.xml可以支持这种多模块开发方式。 InitPlugIn主要实现从struts-config.xml中读取modelmapping-config的值,modelmapping-config的值是你自己定义的jdonframework应用配置文件,文件名不一定是jdonframework.xml,可以任意指定,例如xxx.jdonframework.xml表示jdonframework.xml在包名xxx下。2. Jdon框架启动时将使用jdonframework.jar中META-INF目录下缺省的container.xml和aspect.xml。如果你需要拓展Jdon框架,如自己开发了一些小零碎组件,如计算公式、报表组件等或者行业软件的一些通用功能,这些组件可能需要启动时就载入,或者希望它们实现可配置可替换,那么就将它们整合入Jdon框架中,有两种加入自己配置的方式(该步骤不是必需的):第一定义自己的组件配置文件和拦截器组件配置,文件名必须为mycontainer.xml和myaspect.xml,这两个文件必须放置在系统的classpath路径中,或者必须在你自己的jar包,这个jar包可以和Jdon框架jar包一起部署。第二可以在应用系统的web.xml中定义,可以在web.xml中加入自己定义这两种配置:containerConfigure/WEB-INF/mycontainer.xmlaspectConfigure/WEB-INF/myaspect.xml com.jdon.container.startup.ServletContainerListener那么你的mycontainer.xml和myaspect.xml必须放置在Web项目的WEB-INF目录下,当然这两个文件名可以自己任意取名。用户自己定义的配置文件中可以覆盖缺省的container.xml或aspect.xml相应的配置。只要取相同的name值就可以。4.1.2 应用服务组件配置jdonframework.xml是应用服务组件配置文件,文件名可自己自由定义,jdonframework.xml中主要是定义Model(模型)和Service(服务)两大要素。段落是定义应用系统的建模,一个应用系统有哪些详细具体的模型,可由Domain Model分析设计而来。中的详细配置说明可见 数据模型增、删、改、查章节。段落是定义服务组件的配置,目前有两种主要服务组件配置:EJB和POJO。EJB服务组件配置如下: 每个ejbService组件有一个全局唯一的名字,如newsManager,有两个必须子定义:该EJB的JNDI名称和其Local或remote接口类。POJO服务组件配置如下: POJO服务也必须有一个全局唯一名称,如userJdbcDao,以及它的class类定义。如果该POJO构造器有字符串变量,可在这里定义其变量的值,目前Jdon框架只支持构造器字符串变量注射。如果该POJO服务需要引用其它服务,例如UserPrincipalImp类的构造器如下:public UserPrincipalImp(UserDao userDao) this.userDao = userDao; UserPrincipalImp构造器需要引用UserDao子类实现,只需在jdonframework.xml中同时配置这两个服务组件即可,Jdon框架会自动配置它们之间的关系: 上面配置中news.container.UserJdbcDao是接口UserDao的子类实现,这样,直接通过userPrincipal这个名称可获得UserPrincipalImp的实例。4.1.3 基础组件配置说明container.xml是Jdon框架基础组件配置文件,container.xml中包含的组件将由Jdon框架在启动时向微容器(PicoContainer)中注册,至于这些组件之间的依赖关系由微容器解决,称为Ioc模式。container.xml内容主要由每行配置组成,每行格式如下:如:代表组件com.jdon.model.handler.XmlModelHandler,其名称为modelHandler,如果需要在程序中调用XmlModelHandle实例,只需要以modelHandler为名称从微容器中获取即可。组件配置也可以带有参数,例如下行: 而LRUCache的类代码如下:public class LRUCache implements Cache public LRUCache(String configFileName) PropsUtil propsUtil = new PropsUtil(configFileName); cache = new UtilCache(propsUtil); 这样LRUCache 中的configFileName值就是cac
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 冬眠疗法考试题及答案
- 电子直播考试题及答案
- (正式版)DB15∕T 3232-2023 《饲用燕麦复种苜蓿高效栽培技术规程》
- 健康安全管理制度实施承诺书(3篇)
- 护理专业订单式考试题库及答案
- 湖南护理学初级考试题库及答案
- 商务合同谈判记录与合同评审表
- 大学宪法考试题及答案
- 调味品购销协议
- 行政办公文档格式及排版标准
- 班级管理中的心理学(合集7篇)
- 社区工作-徐永祥-高教出版社-全要点课件
- 肉制品工艺学-香肠类制品-课件
- 敬畏规则行有所止生命教育主题班会
- 哮病(支气管哮喘急性发作)中医护理方案
- 中小企业员工离职原因分析与对策研究
- GB/T 9728-2007化学试剂硫酸盐测定通用方法
- GB/T 2992.1-2011耐火砖形状尺寸第1部分:通用砖
- 神经系统的分级调节课件 【知识精讲+备课精研+高效课堂】 高二上学期生物人教版选择性必修1
- 三年级上册数学试卷-第一单元 混合运算 北师大版 (含答案)
- 教学课件-英语学术论文写作(第二版)
评论
0/150
提交评论