• 1. 药物临床试验信息化监管系统 技术架构介绍马现福 阿贝斯努项目组
  • 2. 2使用的工具开发工具 MyEclipse 6.0或Eclipse 3.3以上版本 JAVA环境 JDK 6.0 技术框架 Spring MVC, Spring 3.0, (Hibernate 3.0)JPA 1.0 数据库 Oracle 10gR2(10.2.0.1) 中间件 Tomcat 6.0.30,WebLogic 10或Websphere 6.1 ©2011 absolute Holdings Ltd. All Rights Reserved.
  • 3. 3框架结构图©2011 absolute Holdings Ltd. All Rights Reserved.
  • 4. 4系统分层ServiceDAOActionJSP http请求http响应业务处理处理结果数据持久化返回的数据系统分为JSP, Action, Service, DAO等层次 ©2011 absolute Holdings Ltd. All Rights Reserved.
  • 5. 5各司其责JSP:提交请求,展示数据。 Action:接收提交的页面传来的参数,为页面展示传递数据。 Service:处理业务逻辑,进行事务控制。 DAO:数据持久化操作(增,删,改,查)。 请求处理全过程: 一个请求从jsp页面发起(点击按钮,链接等),对应的action接收到来自jsp页面的参数,对参数进行必要的整理、转换,然后将参数传递给service进行业务处理,service处理业务逻辑时涉及的数据库操作交由dao处理,处理结果返回给action,action对结果进行必要的整理、转换,返回给jsp页面,最后jsp页面对返回的数据进行修饰(html,css),展示给用户。©2011 absolute Holdings Ltd. All Rights Reserved.
  • 6. ©2011 absolute Holdings Ltd. All Rights Reserved.6架构ServiceDAOActionJSPSpring MVC http请求http响应业务处理处理结果数据持久化返回的数据Spring 3.0objectFactory,管理封装,管理DatabaseJPA 1.0O/R Mapping
  • 7. Spring MVC 介绍
  • 8. ©2011 absolute Holdings Ltd. All Rights Reserved.8Spring MVC是什么? Spring MVC 属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面,它是一个典型的教科书式的mvc构架。 Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是 Struts 这样的 Web 框架。通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iText 和 POI。Spring MVC 框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。 Model View Controller
  • 9. ©2011 absolute Holdings Ltd. All Rights Reserved.9MVC
  • 10. ©2011 absolute Holdings Ltd. All Rights Reserved.10JSP开发模式与MVC的比较以JSP为中心的开发模型(JSP+JAVABEAN) 业务逻辑与表示逻辑混和,不利维护与重用 HTML中嵌入了大量的JAVA代码 验证、流程控制、更新程序的状态全部在JSP中完成 基于MVC模式的框架 MVC将问题进行分解 模型包含应用程序的核心功能。模型封装了应用程序的状态。它对视图或控制器一无所知。 视图提供模型的表示。它是应用程序的 外观。视图可以访问模型的读方法,但不能访问写方法。此外,它对控制器一无所知。 控制器对用户的输入作出反应。它创建并设置模型。
  • 11. ©2011 absolute Holdings Ltd. All Rights Reserved.11@Controller @RequestMapping("/demo.do") 基于注释驱动的MVC简介
  • 12. Spring3.0介绍
  • 13. ©2011 absolute Holdings Ltd. All Rights Reserved.13Spring是什么Spring是一个开源的控制反转(Inversion of Control ,IoC)和面向切面(AOP)的容器框架.它的主要目得是简化企业开发. 轻量 控制反转 依赖注入 面向切面
  • 14. ©2011 absolute Holdings Ltd. All Rights Reserved.14IOC 控制反转public class PersonServiceBean { private PersonDao personDao = new PersonDaoBean(); public void save(Person person){ personDao.save(person); } } PersonDaoBean 是在应用内部创建及维护的。所谓控制反转就是应用本身不负责依赖对象的创建及维护,依赖对象的创建及维护是由外部容器负责的。这样控制权就由应用转移到了外部容器,控制权的转移就是所谓反转。
  • 15. ©2011 absolute Holdings Ltd. All Rights Reserved.15依赖注入(Dependency Injection)当我们把依赖对象交给外部容器负责创建,那么PersonServiceBean 类可以改成如下: public class PersonServiceBean { private PersonDao personDao ; //使用setter方法,让容器把创建好的依赖对象注入进PersonServiceBean。 public void setPersonDao(PersonDao personDao){ this.personDao=personDao; } public void save(Person person){ personDao.save(person); } } 所谓依赖注入就是指:在运行期,由外部容器动态地将依赖对象注入到组件中。
  • 16. 16为何要使用Spring降低组件之间的耦合度,实现软件各层之间的解耦。 可以使用容器提供的众多服务,如:事务管理服务、消息服务等等。当我们使用容器管理事务时,开发人员就不再需要手工控制事务.也不需处理复杂的事务传播。 容器提供单例模式支持,开发人员不再需要自己编写实现代码。 容器提供了AOP技术,利用它很容易实现如权限拦截、运行期监控等功能。 容器提供的众多辅作类,使用这些类能够加快应用的开发,如: JdbcTemplate、 HibernateTemplate。 Spring对于主流的应用框架提供了集成支持,如:集成Hibernate、JPA、Struts等,这样更便于应用的开发。 ControllerServiceDAO
  • 17. ©2011 absolute Holdings Ltd. All Rights Reserved.17使用Spring的好处使用spring,我们可以使用容器提供的众多服务
  • 18. Hibernate3.0(JPA 1.0)介绍
  • 19. ©2011 absolute Holdings Ltd. All Rights Reserved.19JPA是什么JPA全称Java Persistence API.JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。 Sun引入新的JPA ORM规范出于两个原因:其一,简化现有Java EE和Java SE应用的对象持久化的开发工作;其二,Sun希望整合ORM技术,实现天下归一。    JPA由EJB 3.0软件专家组开发,作为JSR-220实现的一部分。但它不囿于EJB 3.0,你可以在Web应用、甚至桌面应用中使用。JPA的宗旨是为POJO提供持久化标准规范,由此可见,经过这几年的实践探索,能够脱离容器独立运行,方便开发和测试的理念已经深入人心了。目前Hibernate 3.2、TopLink 10.1.3以及OpenJPA都提供了JPA的实现。
  • 20. JPA的优势1、标准化 2、对容器级特性的支持 3、简单易用,集成方便 4、可媲美JDBC的查询能力 5、支持面向对象的高级特性©2011 absolute Holdings Ltd. All Rights Reserved.20
  • 21. 21Q&A讨论与交流!©2011 absolute Holdings Ltd. All Rights Reserved.
  • 22. 谢谢!天津阿贝斯努科技有限公司 2011年11月