java依赖注入
接口的作用
1.在spide中创建一个私有接口
private Downloadable downlaodable
覆盖set get 方法
创建一个方法 Public Page down load (String url)
{
Page page = this.downloadable.download(url);//在这里传值
}
2然后Downloadable 接口中定义方法
Page download(String url);
3.创建一个类实现Downloadable 接口,并实现方法。
public class HttpclientDownload implements Downloadable {
@Override
public Page download(String url) {
Page page = new Page();
String content = PageUtils.getContent(url);
page.setContent(content);
page.setUrl(url);
return page;
}}
4. 使用,依赖注入开始大显身手
比如我们需要使用上述的download方法
则可以这样使用,
Spider spider = new Spider();
spider.setDownloadable (new HttpclientDownload ());
Page page = spider.download(url);
ok ,以后如果别人不想用这个download的方法,或是有缺点,或是增加功能,那么好了只要自己创建一个实现Downloadable 接口的类就可以了。
java依赖注入的更多相关文章
- java依赖注入(injection)
和SpringSource分别通过其开源项目Guice及Spring Framework提供了依赖注入的功能.然而直到现在开发者也没有一种标准的.独立于供应商的方式从而无需修改其源文件就能在这些框架之 ...
- Java 依赖注入标准(JSR-330)简介
作者:88250 ,Vanessa 时间:2009 年 11 月 19 日 Java 依赖注入标准(JSR-330,Dependency Injection for Java)1.0 规范已 ...
- java 依赖注入
https://blog.csdn.net/coderder/article/details/51897721 前言 在软件工程领域,依赖注入(Dependency Injection)是用于实现控制 ...
- Java依赖注入方式
pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w ...
- 开涛spring3(12.2) - 零配置 之 12.2 注解实现Bean依赖注入
12.2 注解实现Bean依赖注入 12.2.1 概述 注解实现Bean配置主要用来进行如依赖注入.生命周期回调方法定义等,不能消除XML文件中的Bean元数据定义,且基于XML配置中的依赖注入的 ...
- 注解实现Bean依赖注入
12.2.1 概述 注解实现Bean配置主要用来进行如依赖注入.生命周期回调方法定义等,不能消除XML文件中的Bean元数据定义,且基于XML配置中的依赖注入的数据将覆盖基于注解配置中的依赖注入的数 ...
- Android 和 Dagger 2 中的依赖注入
原文:Dependency Injection in Android with Dagger 2 作者:Joe Howard 译者:kmyhy 在现代开发团队中到处充斥着"你一定要用依赖注入 ...
- Objection, 一个轻量级的Objective-C依赖注入框架
简介 项目主页:https://github.com/atomicobject/objection 实例下载: https://github.com/ios122/ios122 Objection 是 ...
- Java之控制反转和依赖注入
1.简介 依赖注入和控制反转,目的是为了使类与类之间解耦合,提高系统的可扩展性和可维护性,下面通过一个例子来引入这一概念. 2.案例 1)一般情况下的类耦合 Main.java public clas ...
随机推荐
- C++ Pitfalls 之 reference to an object in a dynamically allocated containter
(留坑待填) Extraction from the C++ Programming Language 4th. ed., Bjarne Stroustrup 31.3.3 Size and Cap ...
- PL/0编译器(java version) – Symbol.java
1: package compiler; 2: 3: /** 4: * 采用全局变量sym来存储符号码,并用全局变量id和num来传递语义值 5: * 6: * @author jiangnan ...
- ES6之let(理解闭包)和const命令
ES6之let(理解闭包)和const命令 最近做项目的过程中,使用到了ES6,因为之前很少接触,所以使用起来还不够熟悉.因此购买了阮一峰老师的ES6标准入门,在此感谢阮一峰老师的著作. 我们知道,E ...
- 使用ultraiso制作启动盘
1.以管理员方式运行Ultralso 2.点击菜单栏里的“启动”菜单下的“写入硬盘映像”命令,打开“写入硬盘映像”对话框. “硬盘驱动器”里就是选择你要刻录的U盘,这里演示用的是一张数码相机的内存卡. ...
- WinForm------TextEdit控件内容字体变*号
"属性" -> “Properties” -> “LookAndFeel” -> “PasswordChar”
- Axure7.0汉化方法
下载汉化包 AxureRP7CN_汉化包.rar 首先退出正在运行中的 Axure (如果您正在使用). 将 汉化包.rar 文件解压, 得到 lang 文件夹, 然后将其复制到 Axure 安装目 ...
- ioctlsocket()
ioctlsocket()是控制套接口的模式. 外文名 ioctlsocket() 含 义 控制套接口的模式 头文件 #include <winsock.h> 性 质 函数 目 ...
- win 2012 修改盘符
开始--运行 diskmgmt.msc ........
- Java数据库——连接关闭、增删改查
连接数据库 //================================================= // File Name : MySQL_demo //-------------- ...
- Wget命令下载、备份博客
-np http://www.cnblogs.com/memory4young/p/ 参考资料: http://www.cnblogs.com/memory4young/p/wget-backup-b ...