网站大量收购独家精品文档,联系QQ:2885784924

《《J2EE_Spring第2讲_Spring的核心机制:依赖注入》.ppt

《《J2EE_Spring第2讲_Spring的核心机制:依赖注入》.ppt

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《《J2EE_Spring第2讲_Spring的核心机制:依赖注入》.ppt

Java Web 开发教程 Spring第2讲:Spring的核心机制:依赖注入 IBM Learning Development 目标 理解依赖注入 设值注入 构造注入 2.1 理解依赖注入 依赖:依赖体现在类A对象中并不需要存在有类B类型的对象属性,而是在使用时,直接实例化类B来调用相关的业务方法来完成整个业务操作。 例如Action中:new StudentDao().insert(student); 控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题。 控制反转还有一个名字叫做依赖注入(Dependency Injection)。简称DI。 使用依赖注入,可以将Bean注入任何类的属性。通过依赖注入J2EE可以将各组件不再使用硬耦合的方式组织在一起。 2.1 理解依赖注入 下列代码注入了Book。 private BookBean book; ………… ApplicationContext ctx = new ClassPathXmlApplicationContext(bean.xml); book = ctx.getBean(Book , BookBean.class); bean id=Book class=com.bean.BookBean property name=name value=Java Programing/ /bean 2.1 理解依赖注入 Spring的依赖注入对调用者和被调用者没有任何要求,完全支持POJO之间的依赖关系。 依赖注入通常有两种形式: 设值注入:IOC容器使用属性的setter方法注入被依赖的实例。 构造注入:IOC容器使用构造器注入被依赖的实例。 2.2 设值注入 设值注入仅使用POJO的setter方法来注入依赖的实例。这种注入方式简单,直观。 spring推荐面向接口编程,这样可以更好的规范和实现分离。 1. 定义接口: 定义Person接口 public interface Person{  //Person接口里定义一个使用斧子的方法  public void useAxe(); } 2.2 设值注入 2. 实现类: //实现Person接口 public class Chinese implements Person { private Axe axe; private String pname; public void useAxe() { System.out.println(axe.chop()); } ……setter,getter…… } 2.2 设值注入 3. 依赖注入:test.xml ?xml version=1.0 encoding=UTF-8? beans xmlns:xsi=/2001/XMLSchema-instance xmlns=/schema/beans xsi:schemaLocation=/schema/beans /schema/beans/spring-beans-3.0.xsd !-- 将PersonService类部署成Spring容器中的Bean -- bean id=person class=com.bean.Chinese property name=axe ref=stoneAxe/ property name=pname value=大禹/ /bean bean id=stoneAxe class=com.bean.StoneAxe property name=aname value=stone-axe/ /bean /beans 2.2 设值注入 4. 主调用: Action public String test2() { ApplicationContext ctx = new ClassPathXmlApplicationContext(test.xml); ch = ctx.getBean(person , Person.class); ch.useAxe(); return SUCCESS; } 2.2 设值注入 5. 视图JSP: Action body s:property value=ch.pname/ s:property value=ch.axe.aname/ /body 2.2 设值注入 5 bean的属性: id: Bean的唯一标识名。它必须是合法的XML ID,在整个XML文档中唯一。 name: 用来为id创建一个或多个别名。它可以是任意的字母符合。多个别名之间用逗号或空格分开。 class: 用来定义类的全限定名(包名+类名)

文档评论(0)

llww + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档