On 2/26/07, Bob Lee <[EMAIL PROTECTED]> wrote:
On 2/26/07, Konstantin Priblouda <[EMAIL PROTECTED]> wrote: > > Hi Bob, > I'd like to say that I'm codeveloper of > pico/nanocontainer.I've used Pico and Nano. Nano uses my AOP framework. You should try Guice. > What's important is that you don't depend on the > > implementation. Depending > > on the interface and annotation is OK. Strings are a > > pain. > > We do not depend on string keys to dientify components > - key in container is just object, and is > needed only in case of ambiguity ( but it could be > string as well ) Using these key objects is more verbose than using annotations with Guice. > Basically I just register this session component - > and my HibernateUserManager receives it in > constructor. > > Why do I need an annotation to achieve this? The annotation indicates which constructor you want injected (to the framework as well as other programmers). What happens if you forget to configure a PasswordHasher in Pico? No hashing? That's not very secure. If you can't annotate a constructor (because you don't control the code), you can use a custom provider. For example: class HibernateUserManagerProvider implements Provider<HibernateUserManager> { @Inject Session session; @Inject PasswordHasher passwordHasher; public HibernateUserManager get() { return new HibernateUserManager(session, passwordHasher); } } Well, there is still a question why it is better than > pico ;) Write less code, and get better up front checking and better performance. What more do you want? Bob
Bob it sounds cool, but without documentation I would say that there are not many chances people will look into it. I will wait for the moment the documentation becomes available. ./alex -- .w( the_mindstorm )p. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
