There we go, that's the kind of information I was looking for! Thanks John.
What got me started with Spring initially was its JDBC templates, but then
everything I read basically said, "Yeah, Spring has JDBC templates, but you
won't really need them since you should be using ORM instead." However, when
I went to find some Hibernate/Wicket examples, all the ones I found were
based in a Spring DI framework. So here I am. I'm sure it will be worth it
in the end, but at the moment it's a lot of reading and testing without
feeling like I'm being especially awesome.

Dane

On Thu, Jul 23, 2009 at 1:32 PM, John Krasnay <j...@krasnay.ca> wrote:

> Wow, this post generated a short burst of heat but not much light!
>
> I think the problem is your question conflates dependency injection,
> XML-based configuration, and the Spring framework. IMHO you have to
> consider these separately to understand their relative merits.
>
> Dependency injection is simply that if object A requires object B, it
> can assume that it will be given an instance of object B rather than
> having to "look up" an instance of object B. This has some very important
> advantages:
>
> - it makes for cleaner code, since you don't have to code the lookup.
>
> - it makes your code independent of any particular lookup approach. You
>  can change how your business layer is wired together without changing
>  all of your code. This is particularly important when trying to create
>  libraries to be re-used in different applications.
>
> - it makes your code easier to test, since your test code can manually
>  inject stub objects and mocks.
>
> So for me, DI is a big win, regardless of how you do it (Spring, Guice,
> or even code in your app startup that instantiates the objects and wires
> them together).
>
> I don't find the Spring XML configuration to be that much of a problem,
> since most of the apps I work on have no more than a few dozen object
> configured there. One thing I like about it, as opposed to some
> annotation-based approaches, is that it's external to the objects
> themselves, making the objects more flexible. For example, suppose you
> had a WidgetDAO that worked with a DataSource. With the Spring XML you
> could easily create two different WidgetDAO instances each pointing to a
> different datasource. This would not be so easy with an annotation-based
> approach.
>
> As for the Spring framework itself, I find it contains a whole bunch of
> functionality that I normally need in a business app, such as
> declarative transaction management, AOP (e.g. for logging), and sane
> wrappers around JDBC, JavaMail, and other difficult APIs. If you're not
> using Spring, you usually have to figure out other ways to do these
> things.
>
> Hope this helps.
>
> jk
>
> On Wed, Jul 22, 2009 at 06:40:19PM -0700, Dane Laverty wrote:
> > Due to the fact that nearly every substantial sample Wicket app is
> > Spring-based, I imagine that there's something awesome about using
> Spring.
> > In fact, Wicket is what has finally gotten me to start learning Spring.
> >
> > I think I understand the basics of dependency injection -- configure your
> > objects in xml files and then inject them into your classes -- but I'm
> still
> > not clear on the advantage of it. I've read quite a ways into "Spring in
> > Action", and the author seems to assume that the reader will
> automatically
> > see why xml-based dependency injection is great thing. I must just be
> > missing something here. What I love about Wicket is being free from xml
> > files. Can anyone give me a concise explanation of how the advantages of
> > Spring are worth introducing a new layer into my applications?
> >
> > Dane
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>

Reply via email to