- 浏览: 1549301 次
文章分类
- 全部博客 (557)
- Spring 3 系列 (26)
- Spring 3 (4)
- oracle (7)
- java (6)
- css3 (1)
- andorid (11)
- IE中页面不居中 (1)
- crm (1)
- ibatis (1)
- jdbc (1)
- javacore (1)
- IT 生活 (3)
- 创业的简单感受 (1)
- web前端 (1)
- Java静态代理 (1)
- pdf (6)
- 模拟 (1)
- 数论 (1)
- ACM_POJ (2)
- C/C++求职面试必备考点 (1)
- 学习Android遇到的错误 (1)
- 嵌入式学习 (1)
- magento付费模板! (1)
- PHP (1)
- Oracle 开发 (1)
- MSSQL (1)
- javascript (6)
- 随感随想 (1)
- RobotFramework (1)
- Ajax (2)
- 数据库复习 (1)
- Java Web (1)
- Way (1)
- eclipse (1)
- 分布式 (1)
- 【ASP.NET开发】 (1)
- 搜索 (1)
- UML建模 (1)
- ANDROID (2)
- 编程技巧 (1)
- 程序员 (2)
- C语言相关 (1)
- Struts2 (1)
- 精品下载资源推荐 (1)
- CUDA (1)
- MFC (1)
- 游戏编程 (1)
- oracle数据库 (1)
- 暴力求解--哈希表 (1)
- 个人文章 (1)
- 最小生成树 (1)
- linux 基础 (1)
- Flex (1)
- Linux (1)
- UML (1)
- 云计算 (1)
- android ListView (1)
- java数据库连接池 (1)
- cxf (1)
- javas (0)
- jquery (2)
最新评论
-
lj杰:
您好,最近项目涉及这这方面的技术,能分享下源码不,小弟非常感谢 ...
Java实现视频网站的视频上传、视频转码、视频关键帧抽图, 及视频播放功能 -
成大大的:
Android自动化测试从入门到精通网盘地址:https:// ...
4种手机自动化测试框架介绍 -
u012944589:
[size=xx-large][size=xx-small][ ...
Java实现视频网站的视频上传、视频转码、视频关键帧抽图, 及视频播放功能 -
stone520520:
同求源码,这几天正想研究一下视频的相关功能mail: 1862 ...
Java实现视频网站的视频上传、视频转码、视频关键帧抽图, 及视频播放功能 -
zhen8023wan:
源代码可以发给我一份吗?谢谢!qq邮箱:1796482787@ ...
Java实现视频网站的视频上传、视频转码、视频关键帧抽图, 及视频播放功能
IoC(反向控制 依赖注入)这是Spring提出来了,这也是Spring一大特色。这里我不用多说,我们看Spring教程就可以了解。当然我们不用Spring也可以用IoC,下面我将介绍不用Spring的IoC。
IoC不是框架,她是java的技术,如今大多数轻量级的容器都会用到IoC技术。这里我就用一个例子来说明:
如:程序中有 Mysql.calss 、Oracle.class 、SqlServer.class三个类,但我们不知道用户会选哪个数据库,所以我们不能把调用数据库的方法固定。当我们发布给用户时,我们也不可能去修改原代码,而只需去修改一个配置文件如database=mysql/oracle/sqlserver就可以了。也可以这么说,向调用数据库的方法传入一个参数如mysql就调用Mysql.calss类。这就可以理解为反向控制和依赖注入。到这里也许我们会想当传入一个类对应的参数就可以调用该类,那么我们传入一个方法对应的参数可以调用相对应的方法吗?答案是当然可以的。
也许程序员不爱看文字描述,下面的就用代码来辅助:
1、 Implements(接口) 或 extends(继承类)
2、 继承接口或继承类的类
3、 用set方法和构造法注入类的IOC类
4、 调用IoC的实现类
Mysql.class 、Oracle.class、 SqlServer.class继承DatebaseImp.class
DataBaseIoC.class用构造和set方法注入Mysql.class 或Oracle.class或 SqlServer.class
Test.class调用DataBaseIoC.class的方法。
一、定义接口:DataBaseImp
二、定义调用接口的类Mysql、Oracle、Sqlserver
三、定义注入类
四、定义实现类
}最后输出:调用Mysql数据
这里主要要说明一下IoC类 DateBaseIoC.class ,上面用的是set方法注入的,下面是构造方法
从上面看出,我们只要修改Test.class实现类就可以调用不同的类,如果把new Mysql()这个Object参数从配置文件里查询调用,那么软件就可以配置了。这里就不多讲如何实现,同时如何调用方法就在这里不多说。
IoC不是框架,她是java的技术,如今大多数轻量级的容器都会用到IoC技术。这里我就用一个例子来说明:
如:程序中有 Mysql.calss 、Oracle.class 、SqlServer.class三个类,但我们不知道用户会选哪个数据库,所以我们不能把调用数据库的方法固定。当我们发布给用户时,我们也不可能去修改原代码,而只需去修改一个配置文件如database=mysql/oracle/sqlserver就可以了。也可以这么说,向调用数据库的方法传入一个参数如mysql就调用Mysql.calss类。这就可以理解为反向控制和依赖注入。到这里也许我们会想当传入一个类对应的参数就可以调用该类,那么我们传入一个方法对应的参数可以调用相对应的方法吗?答案是当然可以的。
也许程序员不爱看文字描述,下面的就用代码来辅助:
1、 Implements(接口) 或 extends(继承类)
2、 继承接口或继承类的类
3、 用set方法和构造法注入类的IOC类
4、 调用IoC的实现类
Mysql.class 、Oracle.class、 SqlServer.class继承DatebaseImp.class
DataBaseIoC.class用构造和set方法注入Mysql.class 或Oracle.class或 SqlServer.class
Test.class调用DataBaseIoC.class的方法。
一、定义接口:DataBaseImp
public interface DataBaseImp { public void getDate(); }
二、定义调用接口的类Mysql、Oracle、Sqlserver
public class Mysql implements DataBaseImp { public void getDate() { System.out.println("调用Mysql数据"); } } public class Oracle implements DataBaseImp { public void getDate() { System.out.println("调用Oracle数据"); } } public class SqlServer implements DataBaseImp { public void getDate() { System.out.println("调用SqlServer数据"); } }
三、定义注入类
public class DateBaseIoC { private DataBaseImp dataBase; public void getDate() { dataBase.getDate(); } //用set方法注入类 public void setDataBase(DataBaseImp dataBase) { this.dataBase = dataBase; } }
四、定义实现类
public class Test { public static void main(String[] args) { DateBaseIoC baseIoC = new DateBaseIoC(); baseIoC.setDataBase(new Mysql()); //调用set baseIoC.getDate(); }
}最后输出:调用Mysql数据
这里主要要说明一下IoC类 DateBaseIoC.class ,上面用的是set方法注入的,下面是构造方法
public class DateBaseIoC{ private DataBaseImp dataBase; //构造方法,在调用时构造 public DateBaseIoC(DataBaseImp dataBase) { this.dataBase=dataBase; } public void getDate() { dataBase.getDate(); } }
从上面看出,我们只要修改Test.class实现类就可以调用不同的类,如果把new Mysql()这个Object参数从配置文件里查询调用,那么软件就可以配置了。这里就不多讲如何实现,同时如何调用方法就在这里不多说。
发表评论
-
Spring Batch学习(一)介绍
2015-01-08 17:17 8401为什么我们需要批处理? 我们不会总是想要立即得到需要的信 ... -
spring包详解
2012-04-22 14:58 1691下载的spring包中文件及各种包众多,在项目中往往只有 ... -
我的spring学习笔记2-IoC(反向控制 依赖注入)
2012-04-10 07:50 2735IoC(反向控制 依赖注入)这是Spring提出来了,这也是S ... -
我的spring学习笔记1-spring 简介
2012-04-10 07:49 21381.1. 概览 ... -
我的spring学习笔记15-容器扩展点之PropertyOverrideConfigurer
2012-04-22 14:55 1849PropertyOverrideConfigurer类似于Pr ... -
我的spring学习笔记14-容器扩展点之PropertyPlaceholderConfigurer
2012-04-22 14:55 1834PropertyPlaceholderConfigurer是个 ... -
我的spring学习笔记10-轻量级_Spring框架
2012-04-14 21:59 1968一、问题提问: ... -
我的spring学习笔记9-Spring使用工厂方法实例化Bean的注意点
2012-04-14 21:59 1546方法一: <bean id="m ... -
我的spring学习笔记8-Spring中Bean的实例化
2012-04-14 21:59 1457在Spring中要实例化一个Bean有几种方法: 1、最常用 ... -
我的spring学习笔记7-Spring的Bean配置文件给Bean定义别名
2012-04-14 21:59 3002本文介绍如何给Spring的Bean配置文件的Bean定义别名 ... -
我的spring学习笔记6-ApplicationContext实例化的参数兼容思想
2012-04-14 21:59 1481ApplicationContext能读取多个Bean定义文件 ... -
我的spring学习笔记5-如何使用ApplicationContext替换BeanFactory
2012-04-12 22:03 1868如何使用ApplicationContext替换BeanFac ... -
我的spring学习笔记4-ApplicationContext详解
2012-04-12 22:03 4318ontext的核心作用是ApplicationConte ... -
我的spring学习笔记3-BeanFactory 详解
2012-04-12 22:03 19411、BeanFactory是 ... -
我的spring学习笔记-spring 简介
2012-04-12 22:03 15561.1. 概览 ... -
Spring中事件处理de小技巧
2012-04-08 12:01 1581Spring 中提供一些Aware相关de接口,Be ... -
关于使用Spring导致c3p0数据库死锁问题
2012-04-08 11:59 6456这个问题我实在是为整个 springsource 的员工蒙羞 ... -
SPRING多数据源切换的问题和解决方法
2012-04-08 11:56 4486在应用中,需要热切换数据源。但发现如下问题: J ... -
再析在spring框架中解决多数据源的问题
2012-04-08 11:52 1727在前面我写了《如何在 spring 框架中解决 ... -
如何在spring框架中解决多数据源的问题
2012-04-08 11:50 2947今天碰见Spring + 多个数 ...
相关推荐
Spring5 框架 ---- IOC容器 ---- 代码 Spring5 框架 ---- IOC容器 ---- 代码 Spring5 框架 ---- IOC容器 ---- 代码 Spring5 框架 ---- IOC容器 ---- 代码 Spring5 框架 ---- IOC容器 ---- 代码 Spring5 框架 ---- ...
spring-IOC的一些笔记心得
spring技术--IOC控制反转课件.ppt
我相信很多朋友学习IOC概念的时候,查找了很多资料结果还是一头雾水,感觉高深难懂或者一知半解,而我这篇博客就是以通俗易懂的话语,用故事的方式,讲解IOC(控制反转)和DI(依赖注入)的概念,让大家不再晕,不再觉得...
Java-Spring-SpringIoC容器-SpringIoC的学习 SpringIoC容器的学习笔记 主要介绍了IoC容器工作原理以及如何配置IoC容器 通过标签和注解配置容器
Spring Ioc 注解 依赖注入
Spring IOC 技术的必备开发包,有了这些包就可以放心研究Spring IOC 技术了
Java Spring代理模式AOP-IOC分析
java Spring代理模式AOP-IOC结合
spring IoC, 使用配置文件方式配置Bean的实例化和依赖注入
spring-demo10-注解-IOC.zip
本系统实现了spring的控制反转思想(IOC)
在自学Spring Framework 开发参考手册2.5时做的学习笔记,其中在遇到手册上不能理解的地方的时候,在网上找了一些比较好的文档也放在了里面。
《Spring技术内幕》学习笔记1——IoC容器体系结构 ...《Spring技术内幕》学习笔记5——IoC容器的依赖注入 《Spring技术内幕》学习笔记6——IoC容器的高级特性 《Spring技术内幕》学习笔记7——AOP基础
来自极客学院平台的springIoc文档
spring-ioc学习 新手可以下过来学习下, spring-ioc简介
Spring专题与案例 Spring IOC Spring专题与案例 Spring IOC
Spring_IOC-v(上)笔记Spring_IOC-v(上)笔记Spring_IOC-v(上)笔记Spring_IOC-v(上)笔记
spring的IOC-DI案例。
springIOC 小例子 附带源码 适合新手学习