So, sooner or later if you're building an application of any size, you end up with circular dependencies between your services and/or interceptors.
The TODOList web2.0 peanut gallery just says 'don't have circular dependencies'. gah.
Spring occasionally fails hard when building object graphs. More annoyingly, this behaviour seems to be
a) Entirely dependent on random things (like bean names, declaration orders)
b) Entirely avoidable with the creation of proxies... which it has to do 99% of the time anyway, because 'dem beans are wrapped for transactions.
c) paired with an enormungous, unhelpful java stack trace.
A brief play with Guice seems to indicate that it's
b) Much more able to create DI graphs
c) Has sane errors.