- 1、本文档共88页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Spring 依赖注入概论
Spring概述 课程目标 Spring的IOC Spring的AOP spring中的事务管理器 Spring 与struts2集成 Spring与hibernate集成 SSH集成 一个问题 如果需要进行oralce连接 Action需要进行源码修改 什么是IOC IoC就是Inversion of Control,控制反转。 IoC意味着将你设计好的类交给系统去控制,而不是在你的类内部控制。 假设我们要设计一个Girl和一个Boy类,其中Girl有kiss方法,即Girl想要Kiss一个Boy。那么,我们的问题是,Girl如何能够认识这个Boy? 常见的MM与GG的认识方式有以下几种 1 青梅竹马; 2 亲友介绍; 3 父母包办 Boy public class Boy { private String name; private int age; public Boy() { name=dingna; age=10; } public Boy(String name) { =name; age=10; } ………. BoyFactory package com.dn.test; public class BoyFactory { public static Boy createBoy(String name) { return new Boy(name); } } 青梅竹马: Girl从小就知道自己的Boy。 /*第一种方式,自由恋爱 public class Girl { /*第一种方式,自由恋爱 Boy b=new Boy(tom); public void kiss() { b.kissMe(); } public static void main(String args[]) { new Girl().kiss(); */ 缺点 然而从开始就创建的Boy缺点就是无法在更换。 并且要负责Boy的整个生命周期。 如果我们的Girl想要换一个怎么办? 亲友介绍: 由中间人负责提供Boy来见面 public class Girl /* *第二种方式,经人介绍 * Boy boy; public Girl() { boy=BoyFactory.createBoy(tom); } public void kiss() { boy.kissMe(); } public static void main(String args[]) { new Girl().kiss(); } */ 缺点 亲友介绍,固然是好。如果不满意,尽管另外换一个好了。 但是,亲友BoyFactory经常是以Singleton的形式出现,不然就是,存在于Globals,无处不在,无处不能。 实在是太繁琐了一点,不够灵活。 我为什么一定要这个亲友掺和进来呢?为什么一定要付给她介绍费呢?万一最好的朋友爱上了我的男朋友呢? 父母包办: 一切交给父母,自己不用费吹灰之力,只需要等着Kiss就好了。 /* * 第三种方式:父母包办 * * public void kiss() {ApplicationContext ctx = new FileSystemXmlApplicationContext (src/applicationContext.xml); Boy boy = (Boy)ctx.getBean(boy); boy.kissMe(); } public static void main(String args[]) { new Girl().kiss(); } */ Well,这是对Girl最好的方法,只要想办法贿赂了Girl的父母,并把Boy交给他。那么我们就可以轻松的和Girl来Kiss了。看来几千年传统的父母之命还真是有用哦。至少Boy和Girl不用自己瞎忙乎了。 这就是IOC,将对象的创建和获取提取到外部。由外部容器提供需要的组件。 IoC 是一种模式 IoC(Inversion of Control) 中文译为控制反转, 目前Java社群中流行的各种轻量级容器的实现都是以IoC模式作为基础的。 控制反转意味着在系统开发过程中,设计的类将交由容器去控制,而不是在类的内部去控 类与类之间的关系将交由容器处理,一个类在需要调用另一个类时,只要调用另一个类在容器中注册的名字就可以得到这个类的实例,与传统的编程方式有了很大的不同,” 不用你找,我来提供给你”,这就是控制反转的含义。 Martin Fowler在他的一篇文章中给IoC起了一个更为直观的名字:依赖注射DI(Dependency Injection)。 1.5 Spring先睹为快 项目结构 1.5 Spring先睹为快 主要代码:
文档评论(0)