One reason for me not to use Guice

Someone is whining why he won’t use Spring and promoting Guice instead. He gives five reasons. Well I’m not going to whine about Guice because I don’t use it. I will only explain one simple reason why I would not use Guice: I consider annotation a risky place to put your configuration unless that annotation is an accepted standard annotation like JPA or EJB3 annotation. Guice annotation is proprietary and not a standard. I consider this annotation as risky because they can change it’s interception behaviour however they like it. A standard annotation like JPA or EJB3 has a standard specification of it’s interceptor behaviour. The behaviour of EJB3 or JPA interceptor will likely be compatible between versions. Spring XML configuration is also proprietary but I have certain trust in Spring developers since they have already proven the ease of migration from Spring 1 to Spring 2. Of course if Guice managed to reach version 2.0 and their version 1.0 annotation can be migrated easily I will reconsider my position. 😉