课程提纲 口第一部分Java EE基础 口第二部分Java Web:开发 口第三部分JSF框架 口第四部分EJB 口第五部分JPA 口第六部分SSH框架 ◆第17章Spring.入门 spring JavaEE:技术 1。西北农林升枚大学信息工程学院本科生课程
课程提纲 第一部分 Java EE基础 第二部分 Java Web开发 第三部分 JSF框架 第四部分 EJB 第五部分 JPA 第六部分 SSH框架 ◆第17章 Spring入门 Java EE技术 •1 信息工程学院本科生课程
Java Web:技术的发展阶段 Servlet阶段/JSP阶段: 模型1:JSP+JavaBean: ·JSP:负责输入/输出、请求接收与处理及页面流程控制; 。JavaBean:主要负责业务逻辑处理。 模型2:JSP+Servlet+JavaBean: ·SP:主要负责输入/输出; 。Servlet:主要负责请求接收与处理及页面流程控制; ·JavaBean:主要负责业务逻辑处理。 冬框架阶段: ·重量级框架:↓ 以EJB技术为核心的Java EE(JSF+EJB+JPA); 轻量级框架:Sl(Struts+Spr ing+Hibernate)。 Spring.入门 ·2。西北农林教大学信息工程学院本科生课程
Java Web技术的发展阶段 ❖ Servlet阶段 / JSP阶段: ❖ 模型1:JSP + JavaBean: • JSP: 负责输入/输出、请求接收与处理及页面流程控制; • JavaBean: 主要负责业务逻辑处理。 ❖ 模型2:JSP + Servlet + JavaBean: • JSP: 主要负责输入/输出; • Servlet: 主要负责请求接收与处理及页面流程控制; • JavaBean: 主要负责业务逻辑处理。 ❖ 框架阶段: • 重量级框架:以EJB技术为核心的Java EE (JSF+EJB+JPA); • 轻量级框架:SSH (Struts + Spring + Hibernate)。 Spring入门 •2 信息工程学院本科生课程
Java EE分层结构 Client-Side Server-Side "s88rs88 Enterprise Presentation Presentation Business Logic Information Browser Web EJB System Server ◆ Container Pure · HTML JSP EJB Java Applet JSP EJB Struts Spring Desktop Java TSF Application EJB Java Servlet Other Device 2EE J2EE J2EE Platorm Platform Cllent 客户端 Web服务器应用服器 EIS Spring.入门 3。西北农林科大学信息工程学院本科生课程
•3 信息工程学院本科生课程 Java EE分层结构 Struts JSF Spring入门 Spring
什么是Spring 冬Spr ing是一个开源的轻量级的应用框架,其目的是 为简化企业级应用系统的开发。可用于Java客户端 或Java Web应用的开发。 冬不同于Struts、Hibernate等,Spring不提供某些功 能,只是将所有的组件部署到Spr ing中,并管理、 维护和执行这些组件。 Spring的核心是控制反转(IoC)和面向切面编程 (AOP),通过配置来完成业务对象间的依赖注入。 冬Spr ing还提供了包括声明式事务处理以及可以使用 多种方法进行持久化数据库的解决方案。 http://www.springsource.org/ Spring入门 ·4。品北农林升大学信息工程学院本科生课程
什么是Spring ❖ Spring是一个开源的轻量级的应用框架,其目的是 为简化企业级应用系统的开发。可用于Java客户端 或Java Web应用的开发。 ❖ 不同于Struts、Hibernate等,Spring不提供某些功 能,只是将所有的组件部署到Spring中,并管理、 维护和执行这些组件。 ❖ Spring的核心是控制反转(IoC)和面向切面编程 (AOP),通过配置来完成业务对象间的依赖注入。 ❖ Spring还提供了包括声明式事务处理以及可以使用 多种方法进行持久化数据库的解决方案。 http://www.springsource.org/ Spring入门 •4 信息工程学院本科生课程
Spring框架的优势 Spring是轻量级框架,使用Spr ing核心所需的资源 也非常小; 以依赖注入(DI)和面向切面编程(AOP)为核心, 采用面向接口的方式进行编程; Spr ing框架可和其它框架进行良好的集成,如视图 层使用Struts.框架,持久层使用Hibernate框架,这 使得开发者可选择自己熟悉的框架,使应用程序开 发变得更加容易; “作为轻量级的解决方案,能够代替重量级框架EJB。 在使用Spr ing.后,如要在项目中使用EJB,仍可继续 使用,也可使用Spr ing完全代替EJB。 Spring.入门 ·5。西北农林科教大学信息工程学院本科生课程
Spring框架的优势 ❖ Spring是轻量级框架,使用Spring核心所需的资源 也非常小; ❖ 以依赖注入(DI)和面向切面编程(AOP)为核心, 采用面向接口的方式进行编程; ❖ Spring框架可和其它框架进行良好的集成,如视图 层使用Struts框架,持久层使用Hibernate框架,这 使得开发者可选择自己熟悉的框架,使应用程序开 发变得更加容易; ❖ 作为轻量级的解决方案,能够代替重量级框架EJB。 在使用Spring后,如要在项目中使用EJB,仍可继续 使用,也可使用Spring完全代替EJB。 Spring入门 •5 信息工程学院本科生课程
Spring框架模块结构 Spring ORM Spring Web Hibernate support WebApplicationContext iBats support Mutipart resolver JDO support Web utlities Spring Web MVC Spring AOP Web MVC Source-level Framework metadata Spring Context Web Views AOP infrastructure Spring DAO Application context JSP/Velocity Transaction infrastructure Ul support PDF/Export JDBC support Validation DAO support JNDL EJB support and remodeling Mail Spring Core Supporting utlities Bean container Spring入门 6。 品北农林升教大学信息工程学院本科生课程
•6 信息工程学院本科生课程 Spring框架模块结构 Spring入门
Spring框架模块 Spring Core模块: ·最为核心的模块,封装了Spr ing框架的核心包,主要提供 Spring loC容器; Spring Contexta模块: 。提供了对Spr ing中对象的框架式访问方式,并包括国际化、 事件传播等特性; Spr ing DAO模块: ·提供JDBC的抽象层。同时还提供了声明式事务管理特性; Spr ing ORM模块: ·提供了集成常用ORM框架的封装包,包括JDO、JPA、iBatis、 Hibernate等。同时,还可使用如声明式事务等其他特性; Spring.入门 ·7。品北农林科大学信息工程学院本科生课程
Spring框架模块 ❖ Spring Core模块: • 最为核心的模块,封装了Spring框架的核心包,主要提供 Spring IoC 容器; ❖ Spring Context模块: • 提供了对Spring中对象的框架式访问方式,并包括国际化、 事件传播等特性; ❖ Spring DAO模块: • 提供JDBC的抽象层。同时还提供了声明式事务管理特性; ❖ Spring ORM模块: • 提供了集成常用ORM框架的封装包,包括JDO、JPA、 iBatis、 Hibernate等。同时,还可使用如声明式事务等其他特性; Spring入门 •7 信息工程学院本科生课程
Spring框架模块 (2) Spring Web模块: ·提供了Web开发的一些基础特性,如文件上传等。同时还 提供了与Web框架集成的封装包,如Struts2框架等; Spring AOP模块: ·Spr ing另一个核心模块。提供了符合AOP规范的AOP实现, 可以降低应用的耦合性,提高扩展性; ·Spring MVC模块: ·提供了一个VC框架。Struts2等MVC框架可替代该模块。 Spring入门 ·8。品北农林升教大学信息工程学院本科生课程
Spring框架模块(2) ❖ Spring Web模块: • 提供了Web开发的一些基础特性,如文件上传等。同时还 提供了与Web框架集成的封装包,如Struts 2框架等; ❖ Spring AOP模块: • Spring另一个核心模块。提供了符合AOP规范的AOP实现, 可以降低应用的耦合性,提高扩展性; • Spring MVC模块: • 提供了一个MVC框架。Struts 2等MVC框架可替代该模块。 Spring入门 •8 信息工程学院本科生课程
控制反转(IoC)和依赖注入(DI) 控制反转(IoC)是将由程序控制的“对象间的依赖 关系”转交给oC容器来进行控制,被调用者的实例 创建工作不再由调用者来完成。通过控制反转,可 以实现由外部容器控制应用中各个类之间的关系。 借助于控制反转,被调用者是被“注入”而不是被 硬编码到调用者的代码中,这可以大大降低调用者 和被调用者之间的依赖关系。 依赖注入(①)是控制反转(IoC)的另一个名称, 二者具有相同的含义。本质都是将“对象间的依赖 关系”改为依赖于|oC容器。 Spring.入门 9。 西北农林科教大学信息工程学院本科生课程
控制反转 (IoC) 和依赖注入 (DI) ❖ 控制反转(IoC)是将由程序控制的“对象间的依赖 关系”转交给IoC容器来进行控制,被调用者的实例 创建工作不再由调用者来完成。通过控制反转,可 以实现由外部容器控制应用中各个类之间的关系。 借助于控制反转,被调用者是被“注入”而不是被 硬编码到调用者的代码中,这可以大大降低调用者 和被调用者之间的依赖关系。 ❖ 依赖注入 (DI) 是控制反转 (IoC) 的另一个名称, 二者具有相同的含义。本质都是将“对象间的依赖 关系”改为依赖于IoC容器。 Spring入门 •9 信息工程学院本科生课程
IoC示意 Object A 1oC容器 Object B Object C Object D 我是第三方 Spring入门 10。品北农林升大学信息工程学院本科生课程
IoC示意 Spring入门 •10 信息工程学院本科生课程