Vollständiges Arbeitsbeispiel für die Einkapselung der Dolch -Unterkomponenten [geschlossen]Java

Java-Forum
Anonymous
 Vollständiges Arbeitsbeispiel für die Einkapselung der Dolch -Unterkomponenten [geschlossen]

Post by Anonymous »

Beispiel für ein Beispiel hier:
https://dagger.dev/dev-guide/subcomponents
funktioniert nicht. Es fehlen einige Teile, Bindungen.

Code: Select all

import dagger.Component;
import dagger.Module;
import dagger.Provides;
import dagger.Subcomponent;
import jakarta.inject.Inject;
import jakarta.inject.Singleton;

public class Example {
public static void main(String[] args) {
ApplicationComponent appComponent = DaggerExample_ApplicationComponent.builder().build();
System.out.println("component: " + appComponent);
System.out.println("database1: " + appComponent.database());
System.out.println("database2: " + appComponent.database());
}

@Singleton
@Component(modules = DatabaseModule.class)
interface ApplicationComponent {
Database database();
}

@Module(subcomponents = DatabaseComponent.class)
static class DatabaseModule {
@Provides
@Singleton
Database provideDatabase(DatabaseComponent.Builder builder) {
return builder.build().database();
}
}

@Module
static class DatabaseImplModule {
@Provides
Schema provideSchema() {
return new Schema();
}
}

@Subcomponent(modules = DatabaseImplModule.class)
public interface DatabaseComponent {
Database database();

@Subcomponent.Builder
interface Builder {
DatabaseComponent build();
}
}

public static class Schema {}

public static class Database {
@Inject
Database(Schema schema) {}
}
}
, so dass AppComponent.database () mit Stackoverflowerror nicht fehlschlägt, und Datenbank1 und Datenbank2 sind dieselbe Instanz.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post