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()


相关文章
|
2月前
|
负载均衡 Java 物联网
SpringCloud简介和用处
SpringCloud简介和用处
95 0
|
9月前
|
数据可视化 前端开发 Java
SpringBoot 集成 Flowable + Flowable Modeler 流程配置可视化(图解)(一)
SpringBoot 集成 Flowable + Flowable Modeler 流程配置可视化(图解)
525 0
|
9月前
|
数据可视化 安全 前端开发
SpringBoot 集成 Flowable + Flowable Modeler 流程配置可视化(图解)(三)
SpringBoot 集成 Flowable + Flowable Modeler 流程配置可视化(图解)
244 0
|
9月前
|
XML 数据可视化 Java
SpringBoot 集成 Flowable + Flowable Modeler 流程配置可视化(图解)(二)
SpringBoot 集成 Flowable + Flowable Modeler 流程配置可视化(图解)
291 0
|
消息中间件 自然语言处理 Java
ElasticSearch 学习笔记(四)-----ES在SpringBoot中的集成以及项目应用开发指南
接上一篇ElasticSearch 学习笔记(三)-----ES的设计原理以及分词器说明。今天我们主要介绍ES 与SpringBoot 的集成以及项目应用开发指南。
781 0
ElasticSearch 学习笔记(四)-----ES在SpringBoot中的集成以及项目应用开发指南
|
算法 IDE Java
Drools简介
Drools简介
1055 0
|
安全 架构师 NoSQL
SpringBoot从入门到精通(二十五)搞懂自定义系统配置
Spring Boot 支持多种格式的配置文件格式,目前最常用的配置文件格式是 properties和 yml。所以,这里默认是用.properties文件,其实,yml格式文件的用法也基本类似。Spring Boot 最常用的几种读取配置文件的方法:分别是@Value注解,@ConfigurationProperties注解和Environment接口。这三种注解可以配合着@PropertySource来使用
SpringBoot从入门到精通(二十五)搞懂自定义系统配置
|
API
《Jersey用户指南》–序言
序言 此书是Jersey 2.23.1的用户手册。我们努力及时更新这本手册因为Jersey 2.23.1增加了一些新的功能。当您在阅读这本用户手册的时候, 请同时参考我们的Jersey  API 手册从而进一步理解Jersey 的功能和API。
1421 0