Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // 提供 mongo 實作的 Dao
- @Module
- public class DaoMongoModule {
- @Provides
- Dao getDaoMongoImpl(){
- return new DaoMongoImpl();
- }
- }
- // 提供 Mysql 實作的 Dao
- @Module
- public class DaoMysqlModule {
- @Provides
- Dao getDaoMysqlImpl(){
- return new DaoMysqlImpl();
- }
- }
- // 注入 Mongo 實作的 Dao 的 component
- @Component(modules = {DaoMongoModule.class})
- public interface BusinessMongoComponent {
- void inject(Business business);
- }
- // 注入 Mysql 實作的 Dao 的 component
- @Component(modules = {DaoMysqlModule.class})
- public interface BusinessMysqlComponent {
- void inject(Business business);
- }
- public class Main {
- public static void main(String []args){
- // 產生底層 Dao 是用 Mongo 實作的 Business 物件
- Business businessMongo = new Business();
- DaggerBusinessMongoComponent.create().inject(businessMongo);
- // 產生底層 Dao 是用 Mysql 實作的 Business 物件
- Business businessMysql = new Business();
- DaggerBusinessMysqlComponent.create().inject(businessMongo);
- }
- }
Add Comment
Please, Sign In to add comment