Disclaimer: While I certainly wasn't a founder of PicoContainer, I am a project comitter these days.
PicoContainer is a little Dependency Injection library that could probably be best described as a micro-kernel with which to base the rest of your application framework.
It has a few philosophies that are hard to find elsewhere:
-They aren't great fans of XML. (Although it is not prohibited).
-The job that PicoContainer does is a convenience.... in fact, in your unit tests, you should not use PicoContainer at all to achieve your goals.
This makes PicoContainer about the only non-invasive dependency injection container available.
Version 2.0 does provide some Annotation capabilities to provide some Google Guice-Like injections, but this method is hardly required.
It does have a couple of downsides for the beginner:
-Documentation, while improving constantly, is usually a little sparse.
-Because the framework is so completely flexible, you can often solve a particular problem five different ways.
While these make it a harder learning curve than other frameworks, to me, the time spent learning it is highly worthwhile.
In my current development, I use my own home-grown Front controller and data access API stack.
But even then, AppFuse is worth my while because it provides a nice Administrative User Interface to give your development a quickstart. It easily saves me 8-12 hrs UI work just to get started!
If you do use Spring,JSF and/or Struts 2, it gets you even closer to a polished web application.
Additionally, Matt Raible is a great community leader who shows genuine interest in helping all tire kickers. I felt welcome immediately welcome within the community.
If you haven't tried AppFuse before, I encourage you to give it a try!