Guice系列之用户指南(十一)

简介:

原文地址:https://code.google.com/p/google-guice/wiki/Injections

Injections(各种注入):常见的有构造函数注入,set方法注入,成员变量注入,前面几篇提到过,就说说没有提到的。

Optional Injections(可选择的注入):就是在注入时可以选择使用注入,通过@Inject(optional=true)实现。

1

2

3

4

5

6

7

8

9

public class PayPalCreditCardProcessor implements CreditCardProcessor {

private static final String SANDBOX_API_KEY = "development-use-only";

private String apiKey = SANDBOX_API_KEY;

@Inject(optional=true)

public void setApiKey(@Named("PayPal API key") String apiKey) {

this.apiKey = apiKey;

}

或者是在成员变量上:

1

@Inject(optional=true) Date launchDate;

On-demand Injection(按需注入):方法注入或者变量注入可能用在初始化一个已经存在的实例。你可以用Injector.injectMembers API:

1

2

3

4

5

public static void main(String[] args) {

Injector injector = Guice.createInjector(...);

CreditCardProcessor creditCardProcessor = new PayPalCreditCardProcessor();

injector.injectMembers(creditCardProcessor);

Static Injections(静态注入):不推荐,依赖关系不透明和受类的全局状态影响。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

@Override public void configure() {

requestStaticInjection(ProcessorFactory.class);

...

}

class ProcessorFactory {

@Inject static Provider<Processor> processorProvider;

/**

* @deprecated prefer to inject your processor instead.

*/

@Deprecated

public static Processor getInstance() {

return processorProvider.get();

}

}

Automatic Injection(自动注入):自动注入
Guice自动注入有如下情况:
在绑定代码中,实例被传递到toInstance()
在绑定代码中,provider实例被传递到toProvider()


相关文章
|
8月前
|
存储 安全 Java
【Java技术专题】「Guava开发指南」手把手教你如何进行使用Guava工具箱进行开发系统实战指南(不可变集合篇)
【Java技术专题】「Guava开发指南」手把手教你如何进行使用Guava工具箱进行开发系统实战指南(不可变集合篇)
92 1
【JavaSE】Java基础语法(十九):接口新特性
1. 接口组成更新概述 常量:接口可以定义全局常量,使用关键字public static final修饰。 抽象方法:接口中可以定义抽象方法,使用关键字public abstract修饰。实现类必须实现接口的所有抽象方法。
|
存储 算法 Java
java 一文讲透API [常用类 + 常用工具](20万字博文)
java API——常用类 和 API——常用工具 全面总结。20万字深度讲解。
1285 0
quartz入门(一)下载及简单实例
quartz入门(一)下载及简单实例
157 0
quartz入门(一)下载及简单实例
|
安全 架构师 NoSQL
SpringBoot从入门到精通(二十五)搞懂自定义系统配置
Spring Boot 支持多种格式的配置文件格式,目前最常用的配置文件格式是 properties和 yml。所以,这里默认是用.properties文件,其实,yml格式文件的用法也基本类似。Spring Boot 最常用的几种读取配置文件的方法:分别是@Value注解,@ConfigurationProperties注解和Environment接口。这三种注解可以配合着@PropertySource来使用
SpringBoot从入门到精通(二十五)搞懂自定义系统配置
|
Java 数据库连接 Spring
Guice 快速入门
Guice是谷歌推出的一个轻量级依赖注入框架,帮助我们解决Java项目中的依赖注入问题。如果使用过Spring的话,会了解到依赖注入是个非常方便的功能。不过假如只想在项目中使用依赖注入,那么引入Spring未免大材小用了。
978 0