I'm not sure if there is merit to this question or not, but are there any best practices and anti-patterns specific to Google Guice?
Please direct any generic DI patterns to this question.
I'm not sure if there is merit to this question or not, but are there any best practices and anti-patterns specific to Google Guice?
Please direct any generic DI patterns to this question.
There are some on the Guice project page. Here's a link to the first one, and you can see the others in the sidebar.
That said, I think it would be great to see others posted and voted on here. Then we can write the best of them up for the Guice pages.
I have always felt that constructor injection to final fields is a best practice. It minimizes mutable state and makes the class easier to understand by making the class's formal dependencies explicit.
public class MyClass {
private final MyDependency dependency;
@Inject
public MyClass(MyDependency dependency) {
this.dependency = dependency;
}
}