public class MyClass {
@Inject
private MyDependency dependency;
// ...
}
@Config
public class MyConfig {
@Bean
public MyDependency myDependency() {
return new MyDependency();
}
// ...
}
public class MyApp {
public static void main(String[] args) {
Specsy specsy = new Specsy();
specsy.configure(MyConfig.class);
// ...
}
}
public class DatabaseConnection {
public void connect() {
}
// ...
}
public class DatabaseService {
private DatabaseConnection connection;
@Inject
public DatabaseService(DatabaseConnection connection) {
this.connection = connection;
}
// ...
}
@Config
public class AppConfig {
@Bean
public DatabaseConnection databaseConnection() {
return new DatabaseConnection();
}
}
public class MyApp {
public static void main(String[] args) {
Specsy specsy = new Specsy();
specsy.configure(AppConfig.class);
DatabaseService databaseService = specsy.get(DatabaseService.class);
databaseService.connect();
// ...
}
}