it is probably a general DI question but i guess i am not in wrong place.

i just make my first guice steps and i begin to like it, but i just stumbled 
on refactoring a non DI constructor to DI-style here is a general example:

before DI

public class MyClass {
    private C1 c1 = new C1impl();
    private C2 c2 = new C2impl();
    private SomeClass parameter;
    public MyClass(SomeClass parameter){
        this.parameter =parameter;
   ...
   }
...}

 after DI:

public class MyClass {
    private C1 c1;
    private C2 c2;
    private SomeClass parameter;
    @Inject
    public MyClass(SomeClass parameter, C1 c1, C2 c2){
        this.parameter =parameter;
        this.c1=c1;
        this.c2=c2;
   ...
   }
...}

Without "parameter" all would be fine (to get an instance of MyClass i would 
use a Provider). But how to get a provider of MyClass (i don't want 
parameter to be injected but all others). 
new MyClass(parameter, providerC1.get(),providerC2.get()) does not look nice 
(i want to get rid of all "new"). setting "parameter" via a setter isn't a 
option if MyClass relies on a non-null "parameter". So what is best practice 
to solve this problem?

thx in advance

-- 
You received this message because you are subscribed to the Google Groups 
"google-guice" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-guice/-/2abvXhxbxDYJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-guice?hl=en.

Reply via email to