Guest User

Untitled

a guest
Oct 17th, 2017
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.07 KB | None | 0 0
  1. // 提供 mongo 實作的 Dao
  2. @Module
  3. public class DaoMongoModule {
  4. @Provides
  5. Dao getDaoMongoImpl(){
  6. return new DaoMongoImpl();
  7. }
  8. }
  9.  
  10. // 提供 Mysql 實作的 Dao
  11. @Module
  12. public class DaoMysqlModule {
  13. @Provides
  14. Dao getDaoMysqlImpl(){
  15. return new DaoMysqlImpl();
  16. }
  17. }
  18.  
  19. // 注入 Mongo 實作的 Dao 的 component
  20. @Component(modules = {DaoMongoModule.class})
  21. public interface BusinessMongoComponent {
  22. void inject(Business business);
  23. }
  24.  
  25. // 注入 Mysql 實作的 Dao 的 component
  26. @Component(modules = {DaoMysqlModule.class})
  27. public interface BusinessMysqlComponent {
  28. void inject(Business business);
  29. }
  30.  
  31. public class Main {
  32. public static void main(String []args){
  33. // 產生底層 Dao 是用 Mongo 實作的 Business 物件
  34. Business businessMongo = new Business();
  35. DaggerBusinessMongoComponent.create().inject(businessMongo);
  36.  
  37. // 產生底層 Dao 是用 Mysql 實作的 Business 物件
  38. Business businessMysql = new Business();
  39. DaggerBusinessMysqlComponent.create().inject(businessMongo);
  40. }
  41. }
Add Comment
Please, Sign In to add comment