Java EE 课程ppt课件 第13章 Spring基础

上传人:杨**** 文档编号:54211859 上传时间:2018-09-09 格式:PPT 页数:79 大小:1.78MB
返回 下载 相关 举报
Java EE 课程ppt课件 第13章 Spring基础_第1页
第1页 / 共79页
Java EE 课程ppt课件 第13章 Spring基础_第2页
第2页 / 共79页
Java EE 课程ppt课件 第13章 Spring基础_第3页
第3页 / 共79页
Java EE 课程ppt课件 第13章 Spring基础_第4页
第4页 / 共79页
Java EE 课程ppt课件 第13章 Spring基础_第5页
第5页 / 共79页
点击查看更多>>
资源描述

《Java EE 课程ppt课件 第13章 Spring基础》由会员分享,可在线阅读,更多相关《Java EE 课程ppt课件 第13章 Spring基础(79页珍藏版)》请在金锄头文库上搜索。

1、第13章 Spring基础,13.1 Spring开发入门,13.2 Spring的核心机制依赖注入,13.3 Spring容器中的Bean,13.4 Spring对集合属性的注入,13.5 Spring后处理器,13.1 Spring开发入门,13.1.1 Spring概述 其主要优势之一是采用分层架构,整个框架由7个定义良好的模块(组件)构成,它们都统一构建于核心容器之上,如图13.1所示,分层架构允许用户选择使用任意一个模块。,13.1.1 Spring概述, Spring Core:核心容器提供Spring框架的基本功能,其主要组件BeanFactory是工厂模式的实现。 Spring

2、 Context:向Spring 框架提供上下文信息,包括企业服务,如 JNDI、EJB、电子邮件、国际化、校验和调度等。 Spring AOP:直接将AOP(面向方面编程)功能集成到Spring框架中,通过配置管理特性,可以很容易地使Spring框架管理的任何对象支持AOP。 Spring DAO:JDBC DAO抽象层提供了有用的异常层次结构,用来管理异常处理和不同数据库供应商抛出的错误消息。 Spring ORM:Spring框架插入了若干ORM框架,提供ORM的对象关系工具,其中包括JDO、Hibernate和iBatis SQL Map,并且都遵从Spring的通用事务和DAO异常层

3、次结构。 Spring Web:为基于Web的应用程序提供上下文。 Spring Web MVC:一个全功能构建Web应用程序的MVC实现,通过策略接口实现高度可配置,容纳了大量视图技术,包括JSP、Velocity、Tiles、iText和POI。,13.1.2 Spring简单应用,建立Java项目,命名为SpringDemo。在项目src下创建org.model包,其中建立一个模型类HelloWorld.java,代码如下: package org.model; public class HelloWorld private String message; public String g

4、etMessage() return message; public void setMessage(String message) this.message = message; ,13.1.2 Spring简单应用,然后在src下创建org.test包,其中创建测试类Test,编写测试代码如下: package org.test; import org.model.HelloWorld; public class Test public static void main(String args) HelloWorld helloWorld=new HelloWorld(); helloWo

5、rld.setMessage(“Hello World!“); / 设置message值 System.out.println(helloWorld.getMessage(); 运行该测试类,在控制台就可以输出“Hello World!”了,如图13.2所示。 但是,如果现在要改变输出内容(如输出“Hello Yabber!”),就必须修改程序代码,把设置message值的语句改为: helloWorld.setMessage(“Hello Yabber!“);,13.1.2 Spring简单应用,【实例13.1】在以上这个HelloWorld程序的基础上,用Spring实现程序输出内容的灵活

6、改变,演示Spring框架的基本使用。 1为项目添加Spring开发能力 右击项目名,选择“MyEclipse”“Project Facets Capabilities”“Install Spring Facet”菜单项,在弹出对话框中单击“Yes”按钮,将出现如图13.3所示的对话框。,13.1.2 Spring简单应用,选择结束后,单击“Next”按钮,出现如图13.4所示的界面,用于创建Spring的配置文件,配置文件默认存放在项目src文件夹下,名为applicationContext.xml。,13.1.2 Spring简单应用,单击“Next”按钮,出现如图13.5所示的界面,选择

7、Spring的核心类库,单击“Finish”按钮完成。,13.1.2 Spring简单应用,2修改配置文件applicationContext.xml 以上操作完成后,项目的src文件夹下会出现名为applicationContext.xml的文件,如图13.6所示,这就是Spring的核心配置文件。,13.1.2 Spring简单应用,打开配置文件,对其进行修改,如下: Hello World! ,13.1.2 Spring简单应用,3修改测试类 配置完成后,修改测试用Test类,代码如下: package org.test; import org.model.HelloWorld; imp

8、ort org.springframework.context.ApplicationContext; /导入Spring框架的应用上下文 import org.springframework.context.support.FileSystemXmlApplicationContext; public class Test public static void main(String args) / 获取ApplicationContext对象 ApplicationContext ac = new FileSystemXmlApplicationContext(“src/ applicat

9、ionContext.xml“); / 通过ApplicationContact获得HelloWorld对象 / getBean方法中的参数即为配置文件中Bean的id值 HelloWorld helloWorld = (HelloWorld)ac.getBean(“HelloWorld“); System.out.println(helloWorld.getMessage(); / 输出 ,13.1.2 Spring简单应用,运行测试类,结果与Test.java的运行结果相同。程序若要输出“Hello Yabber!”,则只需修改配置文件中的“value”值即可,即: Hello Yabbe

10、r! 修改配置后,程序输出结果如图13.7所示。,13.2 Spring的核心机制依赖注入,13.2.1 依赖注入的概念 【实例13.2】简单的依赖注入程序。 新建一个Java项目,名称为Spring_DI,为其添加Spring开发能力,步骤见【实例13.1】第1步。 (1)定义接口。 创建包“org.interfaces”,在该包中新建Person接口,代码如下: package org.interfaces; /* 定义Person接口*/ public interface Person /接口中定义一个吃食物方法 public void eatFood(); 继续在该包中定义Food接口

11、,代码如下: package org.interfaces; /*定义Food接口*/ public interface Food /在接口中定义一个吃的方法,返回吃的东西 public String eat(); ,13.2.1 依赖注入的概念,(2)接口实现类。 创建包“org.interfaces.impl”,在该包中定义Person的实现类Man,代码如下: package org.interfaces.impl; import org.interfaces.Food; import org.interfaces.Person; /* Person接口的具体实现类*/ public c

12、lass Man implements Person /定义Food接口私有属性,面向Food接口编程,而不是具体的实现类 private Food food; /构建 setter方法,必须有,后面会讲解为什么 public void setFood(Food food) this.food = food; /实现Person接口eatFood方法 public void eatFood() System.out.println(food.eat(); ,13.2.1 依赖注入的概念,定义Food的一个实现类Apple,代码如下: package org.interfaces.impl; i

13、mport org.interfaces.Food; public class Apple implements Food public String eat() return “正在吃苹果.“; ,13.2.1 依赖注入的概念,(3)修改配置文件。 修改src下Spring的配置文件applicationContext.xml,将Person实例和Food实例组织在一起,配置的内容。,13.2.1 依赖注入的概念,(4)编写测试类。 下面就可以编写测试类了,代码如下: package org.test; import org.interfaces.Person; import org.spr

14、ingframework.context.ApplicationContext; import org.springframework.context.support.FileSystemXmlApplicationContext; public class Test public static void main(String args) /创建ApplicationContext对象,参数为配置文件放置的位置 ApplicationContext context = new FileSystemXmlApplicationContext(“src/applicationContext.xm

15、l“); /通过Person bean的id来获取bean实例,面向接口编程,因此此处强制类型转换为接口类型 Person p = (Person)context.getBean(“man“); /直接执行Person的eatFood()方法 p.eatFood(); 运行主程序,输出结果为: 正在吃苹果.,13.2.1 依赖注入的概念,(5)程序分析。 在主程序中,调用了Person的eatFood()方法,该方法的方法体内需要使用Food的实例,按照通常的方式,在Person实例的eatFood()方法中,应该这样实现: /创建Food实例 food = new Apple (); /获得

16、Food实例的eat方法返回值 System.out.println(food.eat();,13.2.1 依赖注入的概念,如果需要改写Food的实现类,或者提供另一个实现类(另一种食物)给Person实例使用,Person接口和Man实现类都无须改变,只需提供另一个Food的实现,然后对配置文件进行简单修改即可。例如,我们现在新建另一个Food的实现类Orange,代码如下: package org.interfaces.impl; import org.interfaces.Food; /*定义Orange类,实现Food接口*/ public class Orange implements Food /*实现接口吃的方法*/ public String eat() return “正在吃橘子.“; 修改配置文件applicationContext.xml,增加orange的Bean,代码如下: ,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > Java

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号