spring中ioc是什么

spring中ioc是什么

ID:9234172

大小:1.08 MB

页数:15页

时间:2018-04-24

spring中ioc是什么_第1页
spring中ioc是什么_第2页
spring中ioc是什么_第3页
spring中ioc是什么_第4页
spring中ioc是什么_第5页
资源描述:

《spring中ioc是什么》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、spring中ioc是什么IoC——InversionofControl,控制反转在Java开发中,IoC意味着将你设计好的类交给系统去控制,而不是在你的类内部控制。IoC是一种让服务消费者不直接依赖于服务提供者的组件设计方式,是一种减少类与类之间依赖的设计原则。DI——DependencyInjection(依赖注入)即组件之间的依赖关系由容器在运行期决定,形象的来说,即由容器动态的将某种依赖关系注入到组件之中。依赖注入的目标并非为软件系统带来更多的功能,而是为了提升组件重用的概率,并为系统搭建一个灵活、可扩展的平台。通过依赖注入机制,我们只需要通过简单的配置,而无需

2、任何代码就可指定目标需要的资源,完成自身的业务逻辑,而不用关心具体的资源来自何处、由谁实现。1:控制反转:谁控制谁?控制什么?为何叫反转(对应于正向)?哪些方面反转了?为何需要反转?2:依赖:什么是依赖(按名词理解,按动词理解)?谁依赖于谁?为什么需要依赖?依赖什么东西?3:注入:谁注入于谁?注入什么东西?为何要注入?4:依赖注入和控制反转是同一概念吗?5:参与者都有哪些?6:IoC/DI是什么?能做什么?怎么做?用在什么地方?还不能完全回答和理解,没有关系,先来看看IoC/DI的基本思想演变,然后再回头来回答这些问题1/152/15IoC容器简单的理解就是:实现IoC

3、思想,并提供对象创建、对象装配以及对象生命周期管理的软件就是IoC容器。IoC理解1:应用程序无需主动new对象;而是描述对象应该如何被创建即可IoC容器帮你创建,即被动实例化;2:应用程序不需要主动装配对象之间的依赖关系,而是描述需要哪个服务IoC容器会帮你装配(即负责将它们关联在一起),被动接受装配;3:主动变被动,体现好莱坞法则:别打电话给我们,我们会打给你4:体现迪米特法则(最少知识原则):应用程序不知道依赖的具体实现,只知道需要提供某类服务的对象(面向接口编程);3/15并松散耦合,一个对象应当对其他对象有尽可能少的了解,不和陌生人(实现)说话5:是一种让服务

4、消费者不直接依赖于服务提供者的组件设计方式,是一种减少类与类之间依赖的设计原则。使用IoC/DI容器开发需要改变的思路1:应用程序不主动创建对象,但要描述创建它们的方式。2:在应用程序代码中不直接进行服务的装配,但要描述哪一个组件需要哪一项服务,由容器负责将这些装配在一起。也就是说:所有的组件都是被动的,组件初始化和装配都由容器负责,应用程序只是在获取相应的组件后,实现应用的功能即可。提醒一点IoC/DI是思想,不是纯实现技术。IoC是框架共性,只是控制权的转移,转移到框架,所以不能因为实现了IoC就叫IoC容器,而一般除了实现了IoC外,还具有DI功能的才叫IoC容器

5、,因为容器除了要负责创建并装配组件关系,还需要管理组件生命周期。n工具准备1:Eclipse+Jdk6.0,示例用的Eclipse是EclipseJavaEEIDEforWebDevelopers,Version:HeliosServiceRelease12:spring-framework-3.1.0.M2-with-docs.zip构建环境1:在Eclipse里面新建一个工程,设若名称是Spring3test4/152:把发行包里面的dist下面的jar包都添加到Eclipse里面3:根据Spring的工程来获取Spring需要的依赖包,在联网的情况下,通过Ant运

6、行projects/build-spring-framework/build.xml,会自动去下载所需要的jar包,下载后的包位于projects/ivy-cache/repository下面。4:为了方便,把这些jar包也添加到Eclipse里面开发接口java代码:1.publicinterfaceHelloApi{2.publicStringhelloSpring3(inta);3.}开发实现类java代码:1.publicclassHelloImplimplementsHelloApi{2.publicStringhelloSpring3(inta){3.Sys

7、tem.out.println("helloSpring3==="+a);4.return"Ok,a="+a;5.}6.}配置文件1:在src下面新建一个文件叫applicationContext.xml2:在Spring发行包里面搜索一个例子,比如使用:projectsorg.springframework.contextsrctestjavaorgspringframeworkjmx下的applicationContext.xml,先把里面的配置都删掉,留下基本的xml定义和根元素就可以了,它是一个DTD版的,而且还是2

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。