日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Guice系列之用户指南(五)

發(fā)布時間:2025/7/14 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Guice系列之用户指南(五) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

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

ProviderBindings(提供者綁定):就是實現(xiàn)Provider接口來生產(chǎn)依賴的對象。

貼代碼:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

public interface Animal {

void say();

}

public class Cat implements Animal {

String name;

public void setName(String name) {

this.name = name;

}

@Override

public void say() {

System.out.println("i am a cat");

}

@Override

public String toString() {

return "name==>" + this.name;

}

}

import com.google.inject.AbstractModule;

public class AnimalModule extends AbstractModule {

@Override

protected void configure() {

bind(String.class).toInstance("Tom");

bind(Animal.class).toProvider(AnimalProvider.class);

System.out.println("run configure");

}

}

import com.google.inject.Inject;

import com.google.inject.Provider;

public class AnimalProvider implements Provider<Animal>{

String name;

@Inject

public AnimalProvider(String name) {

this.name = name;

}

public Animal get() {

Cat cat = new Cat();

cat.setName(name);

System.out.println("run Provider.get()");

return cat;

}

}

import com.google.inject.Guice;

import com.google.inject.Injector;

public class Test {

public static void main(String[] args) {

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

AnimalProvider provider = injector.getInstance(AnimalProvider.class);

Animal cat = provider.get();

System.out.println(cat);

cat.say();

}

}

執(zhí)行結(jié)果:
run AnimalModule.configure()
run Provider.get()
name==>Tom
i am a cat


總結(jié)

以上是生活随笔為你收集整理的Guice系列之用户指南(五)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。