667481 members! Sign up to stay informed.

Sponsored Links


Resources

Enterprise Java
Research Library

Get Java white papers, product information, case studies and webcasts

News News News Messages: 89 Messages: 89 Messages: 89 Printer friendly Printer friendly Printer friendly Post reply Post reply Post reply XML XML XML

Arif Rachim: Five Reasons I think I won't use Spring

Posted by: Joseph Ottinger on July 03, 2007 DIGG
Arif Rachim has posted "5 Reasons why I think I will not use Spring," detailing some issues he has with Spring: bloated configuration, XML configuration, lack of strong type checking, performance of the container, and the Spring binding process (i.e., applications that use Spring *must* use Spring...)

Most of the issues he details are with reference to the configuration of Spring. For example (with edits for grammar):
1. Spring configuration is bloated.
My team develops enterprise application using a Dependency Injection framework. There are more than 1500 classes in that project, and separated to more than eleven modules. To my experience in a real world, "we made service objects less than the objects that depend on that service." If we use Spring, when we made 1000 actions that depend in 100 service, it means we have to make configuration on 1000 beans that depend on 100 services. The configuration gets worse if the actions continue growing in numbers - we must be even more careful when we want to refactor something, as we dont want to break existing code.

You might start thinking using autowire by type - no, that would be a bad idea. Then why not use autowire by name? That sounds silly. What if we have different names in configuration for different object? Well, I guess that's going to be another long nite at the office.
His fifth concern is probably the most relevant:
Spring is a container that just promises to help us build loosely coupled technology, Spring does not really concern that much about tightly coupled. I'm very sure that once we use spring lib other than spring-core.jar that means our application cannot live without Spring.
There's no "standard" way to get elements from Spring without depending on Spring, nor is there a clear path to having transparent use of such a library. (That said, Struts 2 is able to use Spring to locate actions through a very simple configuration. If Struts 2 can do it...)

What do you think?

Threaded replies

·  Arif Rachim: Five Reasons I think I won't use Spring by Joseph Ottinger on Tue Jul 03 11:21:01 EDT 2007
  ·  There is room for improvement, but Spring still rocks by peter veentjer on Tue Jul 03 11:39:38 EDT 2007
    ·  How hard is creating objects anyway? by valraven smith on Tue Jul 03 12:37:51 EDT 2007
      ·  Re: How hard is creating objects anyway? by Jordan Xu on Tue Jul 03 12:48:23 EDT 2007
        ·  Re: How hard is creating objects anyway? by jordi hs on Tue Jul 03 13:46:43 EDT 2007
      ·  Re: How hard is creating objects anyway? by Henri Karapuu on Tue Jul 03 13:36:54 EDT 2007
        ·  Re: How hard is creating objects anyway? by valraven smith on Tue Jul 03 14:51:36 EDT 2007
        ·  Re: How hard is creating objects anyway? by Werner Punz on Wed Jul 04 03:55:31 EDT 2007
          ·  Re: How hard is creating objects anyway? by Henri Karapuu on Wed Jul 04 04:42:23 EDT 2007
      ·  Re: How hard is creating objects anyway? by Marcos Oliveira on Thu Jul 05 09:51:43 EDT 2007
        ·  Re: How hard is creating objects anyway? by valraven smith on Thu Jul 05 10:37:49 EDT 2007
          ·  Re: How hard is creating objects anyway? by David McCoy on Thu Jul 05 11:09:08 EDT 2007
          ·  Re: How hard is creating objects anyway? by Davide Baroncelli on Thu Jul 05 11:15:10 EDT 2007
            ·  Re: How hard is creating objects anyway? by valraven smith on Thu Jul 05 11:39:58 EDT 2007
              ·  Re: How hard is creating objects anyway? by David McCoy on Fri Jul 06 09:57:03 EDT 2007
            ·  Please show some code? by valraven smith on Thu Jul 05 11:52:27 EDT 2007
              ·  Re: Please show some code? by David McCoy on Fri Jul 06 09:54:38 EDT 2007
              ·  How about this for benefits by Matthew Inger on Fri Jul 06 13:26:41 EDT 2007
                ·  Re: How about this for benefits by Bob Lee on Fri Jul 06 23:57:18 EDT 2007
  ·  Not really true anymore by Henri Karapuu on Tue Jul 03 11:40:54 EDT 2007
  ·  Re: Arif Rachim: Five Reasons I think I won't use Spring by michele michele on Tue Jul 03 11:52:02 EDT 2007
  ·  The dark side of Spring, JBoss, ... by Casual Visitor on Tue Jul 03 13:11:41 EDT 2007
  ·  Re: Arif Rachim: Five Reasons I think I won't use Spring by Magnus Heino on Tue Jul 03 13:39:49 EDT 2007
    ·  [Name]: [Number] Reasons I think [Action | Emtion] [Product] by Cameron Purdy on Tue Jul 03 14:02:00 EDT 2007
      ·  Re: [Name]: [Number] Reasons I think [Action | Emtion] [Product] by George Coller on Fri Jul 06 02:09:05 EDT 2007
    ·  Re: Arif Rachim: Five Reasons I think I won't use Spring by Davide Baroncelli on Tue Jul 03 15:27:00 EDT 2007
    ·  Increasing Spring's Startup Performance by Dan Diephouse on Tue Jul 03 16:32:55 EDT 2007
      ·  Re: Increasing Spring's Startup Performance by Magnus Heino on Tue Jul 03 16:38:47 EDT 2007
      ·  Re: Increasing Spring's Startup Performance by David McCoy on Tue Jul 03 21:25:40 EDT 2007
        ·  Re: Increasing Spring's Startup Performance by Bob Lee on Wed Jul 04 01:19:40 EDT 2007
          ·  Re: Increasing Spring's Startup Performance by David McCoy on Wed Jul 04 16:56:52 EDT 2007
  ·  Vindication! by Bill Burke on Tue Jul 03 14:47:12 EDT 2007
    ·  Re: Vindication! by Preston Sheldon on Tue Jul 03 14:55:29 EDT 2007
    ·  helloworld-object.xml by Davide Baroncelli on Tue Jul 03 15:34:03 EDT 2007
      ·  Re: helloworld-object.xml by Roy Russo on Tue Jul 03 19:23:28 EDT 2007
        ·  Re: helloworld-object.xml by Davide Baroncelli on Wed Jul 04 04:06:37 EDT 2007
          ·  XML wins by Nicola Nardino on Wed Jul 04 06:59:59 EDT 2007
          ·  Re: helloworld-object.xml by Roy Russo on Wed Jul 04 18:10:49 EDT 2007
            ·  Re: helloworld-object.xml by Davide Baroncelli on Thu Jul 05 04:04:53 EDT 2007
    ·  Re: Bill has a friend by Persistability Ltd on Wed Jul 04 02:57:12 EDT 2007
    ·  not so fast there Bill Burke (EJB 3.0 O'reily book author) by bullz97 bullz97 on Tue Feb 17 01:03:55 EST 2009
  ·  Ah...the quarterly anti-Spring post... by David McCoy on Tue Jul 03 16:05:19 EDT 2007
    ·  Re: Ah...the quarterly anti-Spring post... by Joel Schilling on Tue Jul 03 16:31:42 EDT 2007
      ·  Re: Ah...the quarterly anti-Spring post... by David McCoy on Tue Jul 03 21:24:14 EDT 2007
    ·  Re: Ah...the quarterly anti-Spring post... by John Murray on Tue Jul 03 18:04:11 EDT 2007
    ·  Re: Ah...the quarterly anti-Spring post... by Marcos Oliveira on Thu Jul 05 09:57:23 EDT 2007
  ·  Re: Arif Rachim: Five Reasons I think I won't use Spring by random fletch on Tue Jul 03 17:40:26 EDT 2007
    ·  Re: Arif Rachim: Five Reasons I think I won't use Spring by Bob Lee on Tue Jul 03 17:52:57 EDT 2007
      ·  Re: Arif Rachim: Five Reasons I think I won't use Spring by Davide Baroncelli on Wed Jul 04 04:12:38 EDT 2007
  ·  Stink bomb by Rob Lambert on Tue Jul 03 17:59:28 EDT 2007
  ·  This is a matter of "state" by Fatih Algan on Tue Jul 03 18:02:49 EDT 2007
    ·  There's a difference! by Daniele Bufarini on Wed Jul 04 03:50:25 EDT 2007
      ·  Re: There's a difference! by Werner Punz on Wed Jul 04 03:57:00 EDT 2007
        ·  Re: There's a difference! by Daniele Bufarini on Wed Jul 04 05:33:04 EDT 2007
      ·  Re: There's a difference! by Davide Baroncelli on Wed Jul 04 04:08:54 EDT 2007
        ·  Re: There's a difference! by Daniele Bufarini on Wed Jul 04 05:07:54 EDT 2007
          ·  Re: There's a difference! by Paolo Denti on Wed Jul 04 05:37:05 EDT 2007
      ·  Re: There's a difference! by michele michele on Wed Jul 04 04:14:41 EDT 2007
      ·  EJB3 - Spring - Architecture or not by Fatih Algan on Thu Jul 05 17:45:33 EDT 2007
      ·  Re: There's a difference! by Rodrigo Jardim on Thu Jul 12 11:08:36 EDT 2007
  ·  asphinctersayswhat? by greg matthews on Tue Jul 03 19:55:34 EDT 2007
  ·  Re: Arif Rachim: Five Reasons I think I won't use Spring by Syaiful Mukhlis on Tue Jul 03 21:45:52 EDT 2007
  ·  Re: Arif Rachim: Five Reasons I think I won't use Spring by Eduard Letifov on Tue Jul 03 23:01:00 EDT 2007
    ·  Re: Arif Rachim: Five Reasons I think I won't use Spring by Mark Nuttall on Tue Jul 03 23:22:48 EDT 2007
    ·  Re: Arif Rachim: Five Reasons I think I won't use Spring by Paolo Denti on Wed Jul 04 03:44:24 EDT 2007
      ·  Re: Arif Rachim: Five Reasons I think I won't use Spring by Eduard Letifov on Wed Jul 04 18:48:41 EDT 2007
  ·  Re: Arif Rachim: Five Reasons I think I won't use Spring by Mrinal Kanti on Wed Jul 04 01:27:29 EDT 2007
  ·  Old Wine In New Bottles by Franklin Antony on Wed Jul 04 06:58:07 EDT 2007
  ·  Spring critics by tony siciliano on Wed Jul 04 09:34:43 EDT 2007
    ·  Re: Spring critics by Davide Baroncelli on Wed Jul 04 10:46:18 EDT 2007
      ·  Re: Spring critics by Drew McAuliffe on Wed Jul 04 12:37:17 EDT 2007
      ·  Re: Spring critics by Andrew Clifford on Wed Jul 04 21:23:16 EDT 2007
  ·  Re: Arif Rachim: Five Reasons I think I won't use Spring by Mr Fox Mr Fox on Wed Jul 04 15:08:39 EDT 2007
  ·  Re: Arif Rachim: Five Reasons I think I won't use Spring by Nader Aeinehchi on Wed Jul 04 16:35:09 EDT 2007
    ·  Re: Arif Rachim: Five Reasons I think I won't use Spring by Magnus Heino on Wed Jul 04 16:47:31 EDT 2007
    ·  Re: Arif Rachim: Five Reasons I think I won't use Spring by David McCoy on Wed Jul 04 17:06:01 EDT 2007
      ·  Re: Arif Rachim: Five Reasons I think I won't use Spring by Nader Aeinehchi on Wed Jul 04 17:19:41 EDT 2007
        ·  Re: Arif Rachim: Five Reasons I think I won't use Spring by David McCoy on Thu Jul 05 11:04:38 EDT 2007
          ·  Re: Arif Rachim: Five Reasons I think I won't use Spring by Rodrigo Jardim on Thu Jul 12 11:17:07 EDT 2007
        ·  Re: Arif Rachim: Five Reasons I think I won't use Spring by Jim Shi on Mon Jul 09 21:00:41 EDT 2007
          ·  Re: Arif Rachim: Five Reasons I think I won't use Spring by Urs Peter on Tue Jul 10 02:07:22 EDT 2007
      ·  Re: Arif Rachim: Five Reasons I think I won't use Spring by Werner Punz on Thu Jul 05 05:40:26 EDT 2007
    ·  Re: Arif Rachim: Five Reasons I think I won't use Spring by tony siciliano on Thu Jul 05 04:13:32 EDT 2007
      ·  DI by Anton Fedotov on Thu Jul 05 04:41:18 EDT 2007
  ·  congig sucks by J Dev on Wed Jul 04 23:38:31 EDT 2007
    ·  Re: jyog sucks by Persistability Ltd on Thu Jul 05 02:09:21 EDT 2007
      ·  Re: jyog sucks by J Dev on Tue Jul 17 00:35:10 EDT 2007
  ·  Re: Arif Rachim: Five Reasons I think I won't use Spring by Amin Mohammed-Coleman on Thu Jul 05 02:48:48 EDT 2007
  ·  Re: Arif Rachim: Five Reasons I think I won't use Spring by Mike Zatko on Mon Jul 09 12:25:55 EDT 2007
  ·  Re: Arif Rachim: Five Reasons I think I won't use Spring by Rodrigo Jardim on Thu Jul 12 11:25:11 EDT 2007
  Message #235680 Post reply Post reply Post reply Go to top Go to top Go to top

There is room for improvement, but Spring still rocks

Posted by: peter veentjer on July 03, 2007 in response to Message #235676
I agree that the Spring configuration is verbose. With the introduction of domain specific syntax in Spring 2 it has become a little better, but there is still room for improvement.

Getting rid of the XML would be a good step forward and that is why I'm currently playing with the DSL for Spring that Grails provides. Although the documentation is very limited, I see many advantages (less typing, groovy language features combined with the dsl.. so you are not forced to create beanfactories for simple stuff like adding listeners to a bean). But the quality of this part of grails really needs to improve to make it usable for mainstream developers.

And for the Spring dependency: Spring is much more than just an IOC container. It provides integration for a lot of api's. As soon as you are going to replace Spring by something else, this integration has to be replaced also. If you are going to use a very very lightweight IOC container, you will have to set up this integration functionality yourself. It also means that your code still depends on some integration code.

I would like to see where dynamic language like (J)Ruby and Groovy can take Spring. Spring for the integration logic, and a powerful and extendable DSL for bean creation.

  Message #235681 Post reply Post reply Post reply Go to top Go to top Go to top

Not really true anymore

Posted by: Henri Karapuu on July 03, 2007 in response to Message #235676
You can get a class automatically registered as a Spring bean using @Component -annotation, and then inject dependencies to it with @Autowired and @Resource -annotations.

A suggested solution would be to configure the '100 services' in the traditional XML way (this provides ultimate flexibility and a 'directory' of services), and use annotation based configuration for the '1000 actions'.

There is also a possibility of using 'Spring JavaConfig', where as the name suggests the configuration is done in Java instead of XML.

However, i generally do agree with the post -- Springs dependency injection could be more elegant -- but in the end the choice once again is not about elegance, it's about business realities, and this is where Spring is really strong.

Regards,

Henri Karapuu

  Message #235683 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Arif Rachim: Five Reasons I think I won't use Spring

Posted by: michele michele on July 03, 2007 in response to Message #235676
completeley disagree.
Spring is not invasive, its model is elegant and powerful.

IoC is an important Pattern, must be understood clearly: Spring implements it in an elegant way.

I think Spring configuration is not bloated, but if you like the @Annotation, take a look at SpringConfig.

If you think Spring is bad, what about EJB3/2 ?

For the last reason...I think it is completely wrong!

For sure, if you use the SpringFramework, you must depend on spring-core.jar, that's so easy!
Cannot your application live without spring?
I think million of j2ee applications cannot!
Otherwise, j2ee applications can live without EJB !

  Message #235686 Post reply Post reply Post reply Go to top Go to top Go to top

How hard is creating objects anyway?

Posted by: valraven smith on July 03, 2007 in response to Message #235680
I've never understood why creating objects is so burdensome that a complete other framework with a O(n) configuration burden is required. Just create the darn objects.

  Message #235687 Post reply Post reply Post reply Go to top Go to top Go to top

Re: How hard is creating objects anyway?

Posted by: Jordan Xu on July 03, 2007 in response to Message #235686
I've never understood why creating objects is so burdensome that a complete other framework with a O(n) configuration burden is required. Just create the darn objects.


Another little boy shouting "the emperor has no clothes". You better watch out.

  Message #235689 Post reply Post reply Post reply Go to top Go to top Go to top

The dark side of Spring, JBoss, ...

Posted by: Casual Visitor on July 03, 2007 in response to Message #235676
Of course, Commercial Open Source is trying to sell you something and lock you in. What did you expect? See: http://pab-data.blogspot.com/2007/07/king-is-dead-long-live.html

  Message #235690 Post reply Post reply Post reply Go to top Go to top Go to top

Re: How hard is creating objects anyway?

Posted by: Henri Karapuu on July 03, 2007 in response to Message #235686
I've never understood why creating objects is so burdensome that a complete other framework with a O(n) configuration burden is required. Just create the darn objects.


Don't worry, you will understand it very clearly when you start unit testing your first large project.

  Message #235692 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Arif Rachim: Five Reasons I think I won't use Spring

Posted by: Magnus Heino on July 03, 2007 in response to Message #235676
Come on. This must be the worst post so far this year.

You can use xml, annotations, java, or construct some other configuration option using the spring api. Nothing is bloated, painful or not strongly typed if you don't want it too. But you have to know what you are doing, and why, no matter whats the name of he framework or language.

If startup time is 5 or 30s for an application that I start once a year or month is really of no interest.

I’m very sure that once we use spring lib other than spring-core.jar that means our application cannot live without spring.


Guess what! Once you use foo.jar, your application can't live without foo.jar either...

The problem is that people are using frameworks that solve complex things in a user friendly way, without having a clue about whats going on under the surface... and then blame the framework when their bad design breaks. Same thing goes with Seam or any other framework. Even though it's really easy and fast to write Hello world, you have to know whats going on, what the framework is doing so you don't have to.

/Magnus

  Message #235693 Post reply Post reply Post reply Go to top Go to top Go to top

Re: How hard is creating objects anyway?

Posted by: jordi hs on July 03, 2007 in response to Message #235687
That's right. If you need objects from jndi, just copy and paste the code that makes the lookup into every class. I mean, how hard is that? Or write a 3000 lines service locator and call it from everywhere. It's reeally simple to do.

  Message #235695 Post reply Post reply Post reply Go to top Go to top Go to top

[Name]: [Number] Reasons I think [Action | Emtion] [Product]

Posted by: Cameron Purdy on July 03, 2007 in response to Message #235692
Come on. This must be the worst post so far this year.


Well, that's certainly not for a lack of competition .. ;-)

Peace,

Cameron Purdy
Oracle Coherence: The Java Data Grid

  Message #235699 Post reply Post reply Post reply Go to top Go to top Go to top

Vindication!

Posted by: Bill Burke on July 03, 2007 in response to Message #235676
Finally! Vindication! One person in the Java community finally agrees with me that Spring sucks.

;-)

  Message #235701 Post reply Post reply Post reply Go to top Go to top Go to top

Re: How hard is creating objects anyway?

Posted by: valraven smith on July 03, 2007 in response to Message #235690
> Don't worry, you will understand it very clearly when
> you start unit testing your first large project.

Arrogance becomes you.

I've unit tested many large projects. It goes something like:
Object test= new Object(new OtherObjects);
ASSERT(test.goodness())

I simply use the mocks where necessary. If I am using factories or singletons then I tell the factory what to return for this test.

It's all quite simple.

  Message #235703 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Vindication!

Posted by: Preston Sheldon on July 03, 2007 in response to Message #235699
Ah, Bill... you had to do it didn't you. I know you included the little winking smiley and all but you know this is just going to start a pro-Spring rampage.

  Message #235707 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Arif Rachim: Five Reasons I think I won't use Spring

Posted by: Davide Baroncelli on July 03, 2007 in response to Message #235692
If startup time is 5 or 30s for an application that I start once a year or month is really of no interest.

Furthermore, in my experience Spring context startups tend to be slowed down by... Hibernate, the most.

  Message #235709 Post reply Post reply Post reply Go to top Go to top Go to top

helloworld-object.xml

Posted by: Davide Baroncelli on July 03, 2007 in response to Message #235699
http://docs.jboss.org/jbportal/v2.4/reference-guide/en/html/xmldescriptors.html

  Message #235712 Post reply Post reply Post reply Go to top Go to top Go to top

Ah...the quarterly anti-Spring post...

Posted by: David McCoy on July 03, 2007 in response to Message #235676
summer is officially here. This is how you know you are number 1. Someone devotes an entire, usually inaccurate post about why you suck or they won't use you.

If only people devoted as much time to crafting a solution as pointing a finger.

What do *I* think? How about writing something that does the job better since you have all the answers.

  Message #235713 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Ah...the quarterly anti-Spring post...

Posted by: Joel Schilling on July 03, 2007 in response to Message #235712
summer is officially here. This is how you know you are number 1. Someone devotes an entire, usually inaccurate post about why you suck or they won't use you.

If only people devoted as much time to crafting a solution as pointing a finger.

What do *I* think? How about writing something that does the job better since you have all the answers.


If you look at his other post, he thinks GUICE does the job better.

  Message #235714 Post reply Post reply Post reply Go to top Go to top Go to top

Increasing Spring's Startup Performance

Posted by: Dan Diephouse on July 03, 2007 in response to Message #235692
If startup time is 5 or 30s for an application that I start once a year or month is really of no interest.


This is of no interest when you're starting an application. But when you're testing this SUCKS. It means it takes longer to make changes. It also takes longer to run integration tests/builds.

With that said, the latest Spring 2.0.5 release includes some performance improvements , so try that out (including one I found which cuts out a lot of time if you have a lot of files - yay for me).

Some general tips to making spring go faster:
- Reduce the number of configuration files
- Don't use classpath*:*.xml type wildcards
- Reduce your number of beans - just because you can make it a <bean> doesn't mean you should.
- lazy-init="true"
- Turn off validation (Alternately: anyone want to rewrite Xerces?)

I was profiling our app startup the other day. About 33% of the time is in Introspector.getBeanInfo() so its really not all Spring's fault IMO :-)

  Message #235715 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Increasing Spring's Startup Performance

Posted by: Magnus Heino on July 03, 2007 in response to Message #235714
If startup time is 5 or 30s for an application that I start once a year or month is really of no interest.


This is of no interest when you're starting an application. But when you're testing this SUCKS. It means it takes longer to make changes. It also takes longer to run integration tests/builds.


Sure, but most tests can be setup without spring, as plain unit test should be done. And even if you want to use spring context in your tests, AbstractSingleSpringContextTests does cache the spring context across all tests if you use the same context resource descriptors.

A empty spring context is fast to start, and so is a context with not so many beans. There is no reason to start a context with all beans and dependencies wired up if you are doing testing.

/Magnus

  Message #235720 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Arif Rachim: Five Reasons I think I won't use Spring

Posted by: random fletch on July 03, 2007 in response to Message #235676
Meh! What's with all the Spring bile? Rod is pleasant enough and Spring has done a pretty good job at cementing IoC as the design pattern of choice for the noughties.

It also does a pretty good job of making a great deal of IoC unfriendly libraries behave themselves (EJB's, Struts, etc.), which is always nice. The code is well written, documented and tested. They don't break backward compatibility and their core infrastructure has been able to adapt to various advances in IoC configuration like AOP, annotations, scripting etc.

Spring goes out of its way to play nice with other, sometimes more stuffy (Mr King *cough cough*) libraries. Their license is as friendly as it could be, the folks on the forum's are always helpful and the guys in charge are pretty good at not ripping into the competition at every opportunity (Mr Lee *cough cough*).

So, relax and enjoy. Spring'll get faster and easier to configure, I have no doubt.

  Message #235721 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Arif Rachim: Five Reasons I think I won't use Spring

Posted by: Bob Lee on July 03, 2007 in response to Message #235720
the folks on the forum's are always helpful and the guys in charge are pretty good at not ripping into the competition at every opportunity (Mr Lee *cough cough*).


When have I ripped into Spring? (excluding that one time which occurred long before Guice even existed) :)

  Message #235722 Post reply Post reply Post reply Go to top Go to top Go to top

Stink bomb

Posted by: Rob Lambert on July 03, 2007 in response to Message #235676
Nothing like lighting a stink bomb before we check out for the holiday (in the U.S. anyway).

I've got no problem with Arif's blog post and his opinions. He can use Guice or whatever works for his project. Spring happens to work great for us, but I am not going to argue for what Mr. Rachim should should use on his project.

What I do have a problem with is the ServerSide editors allowing this non-news to be accepted on the front page. How many times do we have to tread over this issue? Do we really have to ignite this again?

If Spring works for you, use it. If you want to bunk with the JBoss fellas, fine. Guice? Cool.

Next topic!

  Message #235723 Post reply Post reply Post reply Go to top Go to top Go to top

This is a matter of "state"

Posted by: Fatih Algan on July 03, 2007 in response to Message #235676
Well, from my point of view XML configuration vs. annotations or integrating with third party libraries and having prectical and good templates is not the key point of Spring. Annotations will eventually replace XML metadata in any frameworks(indeed it already has), sparing that using XML as metadata has still its use where it is not coupled to a specific Java source file and application global such as in workflows, etc.. Having nice templates for third party libraries and frameworks is a very strong feature of Spring, and that's why I like it most. As for Ioc, I won't discuss its benefits. Especially in unit-testing. However, today, EJB3-JPA provides the same infrastructure as Spring does. So, I don't see an architectural difference there, they all depend and AOP and interception.

Spring's main point is that it is a stateless framework, and application state is always kept on HttpSession. This was obviously a better strategy than EJB 2.X Stateful session beans. So Spring was the best choice of the time.

Now, there's a new kid in town, Seam.. Although it is currently coupled to special technology base(JSF and EJB 3) it has a new architectural strategy. Seam puts its vote on stateful applications, and Stateful EJBs(Yes, the state can still be kept in HttpSession under the hood but the framework is completely designed to make this transparent to developer).. And, though I haven't tried seam yet in a real project, this main architectural point seems very reasonable to me...

We'll see what happens in the near future, but I think seam offers a better model for the time being..

  Message #235724 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Ah...the quarterly anti-Spring post...

Posted by: John Murray on July 03, 2007 in response to Message #235712
I like the quarterly xxx sucks posting. Some of them illustrate the that emperor has no clothes. Some of them let others know that there are other possible solutions out there that can do some task better than xxx can. Others elicit responses that teach the community about ways to avoid problematic situations in xxx. And yes, some of them are just plain stupid.

Keep 'em coming!

John Murray
Sobetech

  Message #235726 Post reply Post reply Post reply Go to top Go to top Go to top

Re: helloworld-object.xml

Posted by: Roy Russo on July 03, 2007 in response to Message #235709
http://docs.jboss.org/jbportal/v2.4/reference-guide/en/html/xmldescriptors.html


JBoss Portal provides an administrative UI to configure deployments. The xml descriptors are merely there as a developer resource.

Next time, do your homework before I have to chime in and make you look dumber than you normally do.

  Message #235727 Post reply Post reply Post reply Go to top Go to top Go to top

asphinctersayswhat?

Posted by: greg matthews on July 03, 2007 in response to Message #235676
Wow. Thanks for that Arif. When is your book out?

c:\>del /s c:\tools\spring

I wondered why we weren't getting on our project -- its because we use Spring.

  Message #235731 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Ah...the quarterly anti-Spring post...

Posted by: David McCoy on July 03, 2007 in response to Message #235713
summer is officially here. This is how you know you are number 1. Someone devotes an entire, usually inaccurate post about why you suck or they won't use you.

If only people devoted as much time to crafting a solution as pointing a finger.

What do *I* think? How about writing something that does the job better since you have all the answers.


If you look at his other post, he thinks GUICE does the job better.


Ah...so he wrote GUICE? :-)

  Message #235732 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Increasing Spring's Startup Performance

Posted by: David McCoy on July 03, 2007 in response to Message #235714
If startup time is 5 or 30s for an application that I start once a year or month is really of no interest.


This is of no interest when you're starting an application. But when you're testing this SUCKS. It means it takes longer to make changes. It also takes longer to run integration tests/builds.

With that said, the latest Spring 2.0.5 release includes some performance improvements , so try that out (including one I found which cuts out a lot of time if you have a lot of files - yay for me).

Some general tips to making spring go faster:
- Reduce the number of configuration files
- Don't use classpath*:*.xml type wildcards
- Reduce your number of beans - just because you can make it a <bean> doesn't mean you should.
- lazy-init="true"
- Turn off validation (Alternately: anyone want to rewrite Xerces?)

I was profiling our app startup the other day. About 33% of the time is in Introspector.getBeanInfo() so its really not all Spring's fault IMO :-)


Why so many startups. Most of the time, you can use JVM hotclass replaces(at least I can) when I'm debugging and don't have to restart the app from scratch.

  Message #235734 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Arif Rachim: Five Reasons I think I won't use Spring

Posted by: Syaiful Mukhlis on July 03, 2007 in response to Message #235676
Arif...
I guest, you need "magic artifact" to make your Spring applications run with better performance.

  Message #235735 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Arif Rachim: Five Reasons I think I won't use Spring

Posted by: Eduard Letifov on July 03, 2007 in response to Message #235676
I have to say I will happily subscribe to "Spring sucks" and "I won't use it". This however has nothing to do with Spring-the-framework.

As usual it's the people who wreck it. In my view Spring has significantly lowered the bar for skills. Many people who have embraced Spring did that for the only reason that they never understood or bothered to understand other technologies/frameworks (including EJB).

The general style usually used to introduce Spring - EJB sucks so use Spring - doesn't in fact do good service to Spring. People take Spring and then start piling up same old sh*$# only in the "Spring way".

I, personally, am most frustrated at places where EJB-based implementations, terribly implemented but actually working are being replaced by Spring ones, just for the sake of following the trend.

  Message #235736 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Arif Rachim: Five Reasons I think I won't use Spring

Posted by: Mark Nuttall on July 03, 2007 in response to Message #235735
As usual it's the people who wreck it. In my view Spring has significantly lowered the bar for skills.

As did Java (vs C). And C (vs Assembly).

  Message #235740 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Increasing Spring's Startup Performance

Posted by: Bob Lee on July 04, 2007 in response to Message #235732
Most of the time, you can use JVM hotclass replaces(at least I can) when I'm debugging and don't have to restart the app from scratch.


Um... have you actually tried this? You can swap a class so long as only method bodies have changed. I hardly think tweaking a method body qualifies as "most" of the changes you're likely to make.

  Message #235741 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Arif Rachim: Five Reasons I think I won't use Spring

Posted by: Mrinal Kanti on July 04, 2007 in response to Message #235676
Another issue is that of the Golden Hammer problem - When the hammer is the only tool that you have, every problem seems like a nail.

I see a lot of projects starting small with very valid reasons of using Spring. But then the infection manifests - every one starts using Spring every where without evaluating if they NEED Dependency Injection in the first place. Reminds me of the long forgotten article by Martin Fowler - http://www.martinfowler.com/articles/injection.html

Service Locator is not something which is not out of fashion. IMO it saves a lot of that dependency configuration stuff in the first place.

Regards,
Mrinal

  Message #235746 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Bill has a friend

Posted by: Persistability Ltd on July 04, 2007 in response to Message #235699
Finally! Vindication! One person in the Java community finally agrees with me that Spring sucks.

Hani always doubted you had a friend ...

  Message #235747 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Arif Rachim: Five Reasons I think I won't use Spring

Posted by: Paolo Denti on July 04, 2007 in response to Message #235735
...In my view Spring has significantly lowered the bar for skills....

that's a good point, not a bad one ! would you prefer that the j2ee stack remains just for the very best people ????

...Many people who have embraced Spring did that for the only reason that they never understood or bothered to understand other technologies/frameworks (including EJB)....

i don't think so. i have been using the "standard" j2ee stack for years before switching to spring and i can say that, in order to use spring, you still need to understand in depth what is happening under the cover when you use a spring helper. do you really think that being able to write some copy&paste boilerplate code (for jndi lookup, for db connection, for example) gives you so much more understanding ?

  Message #235748 Post reply Post reply Post reply Go to top Go to top Go to top

There's a difference!

Posted by: Daniele Bufarini on July 04, 2007 in response to Message #235723
However, today, EJB3-JPA provides the same infrastructure as Spring does. So, I don't see an architectural difference there, they all depend and AOP and interception


What??? You don't see an architectural difference between Spring and EJB3? Think again, please...
EJB3 *is* an architecture while Spring in only a framework: With Spring you can use the architecture of your choice - with EJB3 you simply cannot.
Furthermore EJB3 uses a limited form of AOP while Spring uses a full one (or more than one AOP implementation if you want)

Daniele

  Message #235749 Post reply Post reply Post reply Go to top Go to top Go to top

Re: How hard is creating objects anyway?

Posted by: Werner Punz on July 04, 2007 in response to Message #235690
I've never understood why creating objects is so burdensome that a complete other framework with a O(n) configuration burden is required. Just create the darn objects.


Don't worry, you will understand it very clearly when you start unit testing your first large project.


It is not only testing, if you have to work with simulated modules because some third party is not on time, or the schedule demands some work with dependencies into not yet existing code, this is also heavens sent.

  Message #235750 Post reply Post reply Post reply Go to top Go to top Go to top

Re: There's a difference!

Posted by: Werner Punz on July 04, 2007 in response to Message #235748
However, today, EJB3-JPA provides the same infrastructure as Spring does. So, I don't see an architectural difference there, they all depend and AOP and interception


What??? You don't see an architectural difference between Spring and EJB3? Think again, please...
EJB3 *is* an architecture while Spring in only a framework: With Spring you can use the architecture of your choice - with EJB3 you simply cannot.
Furthermore EJB3 uses a limited form of AOP while Spring uses a full one (or more than one AOP implementation if you want)

Daniele


Well the borders nowadays are blurry, there are embedded ejb3 containers.
EJB3 first of all is just a specification whether it has to be a container or framework does not really matter.
I am personally happy the way ejb3 develops nowadayw with Seam.

  Message #235751 Post reply Post reply Post reply Go to top Go to top Go to top

Re: helloworld-object.xml

Posted by: Davide Baroncelli on July 04, 2007 in response to Message #235726
http://docs.jboss.org/jbportal/v2.4/reference-guide/en/html/xmldescriptors.html


JBoss Portal provides an administrative UI to configure deployments. The xml descriptors are merely there as a developer resource.

Next time, do your homework before I have to chime in and make you look dumber than you normally do.


Don't worry, the XML is there, and it is so awful that it screams: you may have all the tools you want, but if you needed to document it, this means that somehow one has to deal with it. Ah, and of course don't forget to stay metal, general quality of the framework will benefit, and XML will write by itself.

On a more serious basis: Spring XML is not bad at all, and even if it were, there are a number of alternative ways to configure it (I prototyped a very quick way to configure a context in java in 2005, then didn't work on it anymore because it simply wasn't worth the effort: the XML config is absolutely good enough for the job, and java-based configurations tend to quickly not as structured and clean).

There are now a lot of different ways to reduce the xml or avoid it altogether, but monkeys jump up everywhere and keep babbling about "how awful" the XML configuration is: they almost never show equivalent examples using other tools, and when they do they normally produce some lame near-dsl-near-natural-language simulated by using flowing constructs which in my opinion are far uglier than the clean, structured, navigable syntax the XML allows (with the help of modern IDEs such as Idea and Eclipse).

So if your sport is to spot dumb people, look in that monkey camp: I'm sure you will find more palatable victims.

  Message #235752 Post reply Post reply Post reply Go to top Go to top Go to top

Re: There's a difference!

Posted by: Davide Baroncelli on July 04, 2007 in response to Message #235748
However, today, EJB3-JPA provides the same infrastructure as Spring does. So, I don't see an architectural difference there, they all depend and AOP and interception


What??? You don't see an architectural difference between Spring and EJB3? Think again, please...
EJB3 *is* an architecture while Spring in only a framework: With Spring you can use the architecture of your choice - with EJB3 you simply cannot.
Furthermore EJB3 uses a limited form of AOP while Spring uses a full one (or more than one AOP implementation if you want)

Daniele


Ueh! Ti ho convertito? :)

  Message #235753 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Arif Rachim: Five Reasons I think I won't use Spring

Posted by: Davide Baroncelli on July 04, 2007 in response to Message #235721
the folks on the forum's are always helpful and the guys in charge are pretty good at not ripping into the competition at every opportunity (Mr Lee *cough cough*).


When have I ripped into Spring? (excluding that one time which occurred long before Guice even existed) :)


Not sure, but, uhm, here? http://crazybob.org/2007/06/lies-damned-lies-and-xml.html

  Message #235754 Post reply Post reply Post reply Go to top Go to top Go to top

Re: There's a difference!

Posted by: michele michele on July 04, 2007 in response to Message #235748
For sure, the difference is well known!

Anyway I cannot understand the problem:

You don't like Spring? Don't use it!
You like EJB3 (Oh My!) ? Good luck!

I think Rod Jonhson & Al. have done a great job with Spring.

Spring has been the best innovative java software of the past 5-6 years.

And now there is not yet another great innovative idea below the horizon.

But, of course, every thing is perfectible, and nothing is perfect.

But please, do not negate the evidence: Spring framework is a milestone for j2ee smart developers, while ejb3 framework is working so hard to be wild accepted.

IMHO, even if you don't like the Spring Framework, you should admit the benefit you have using it.

Bye

  Message #235755 Post reply Post reply Post reply Go to top Go to top Go to top

Re: How hard is creating objects anyway?

Posted by: Henri Karapuu on July 04, 2007 in response to Message #235749
It is not only testing, if you have to work with simulated modules because some third party is not on time, or the schedule demands some work with dependencies into not yet existing code, this is also heavens sent.


Yes of course not, but considering the trollish nature of the post i was replying to i didn't feel like spending time writing an essay.

As a side note; one more use is assembling different versions/configurations of same software for different customers. I have not used Seam or Guice in real projects, but it seems to me that their approach might make this difficult, or at least somewhat 'unnatural'?

  Message #235758 Post reply Post reply Post reply Go to top Go to top Go to top

Re: There's a difference!

Posted by: Daniele Bufarini on July 04, 2007 in response to Message #235752
Diciamo che hai dato il... là ;-)

  Message #235760 Post reply Post reply Post reply Go to top Go to top Go to top

Re: There's a difference!

Posted by: Daniele Bufarini on July 04, 2007 in response to Message #235750
Well the borders nowadays are blurry, there are embedded ejb3 containers.
EJB3 first of all is just a specification whether it has to be a container or framework does not really matter.
I am personally happy the way ejb3 develops nowadayw with Seam.


I'm sorry, but I have to disagree.
Sure, EJB3 is a specification, but the EJB3 specifications force the use of an architecture where the smallest distribution unit is an object.
It doesn’t matter if nowadays there are a lot of EJB3 embeddable containers: in any case you heavily depend on the EJB apis and that architecture.

  Message #235761 Post reply Post reply Post reply Go to top Go to top Go to top

Re: There's a difference!

Posted by: Paolo Denti on July 04, 2007 in response to Message #235758
Diciamo che hai dato il... là ;-)
bello, sto thread è diventato una chat per italiani :-D

  Message #235763 Post reply Post reply Post reply Go to top Go to top Go to top

Old Wine In New Bottles

Posted by: Franklin Antony on July 04, 2007 in response to Message #235676
I think the comparison is nothing but Old wine in New Bottles and yes Spring has outlived all these hollow comparisons.

Thanks,
Franklin

  Message #235764 Post reply Post reply Post reply Go to top Go to top Go to top

XML wins

Posted by: Nicola Nardino on July 04, 2007 in response to Message #235751
I agree with you! You can try every other configuration method but you'll return on XML to configure your projects! According to me, annotations and the declarative programming is just the Chimera of modern software engineering. Embedding configuration options stucked with code is not the right solution in large projects.

  Message #235772 Post reply Post reply Post reply Go to top Go to top Go to top

Spring critics

Posted by: tony siciliano on July 04, 2007 in response to Message #235676
I have yet to meet one single developer who actually used Spring in a real project, coming back and telling me that Spring "sucks" (anybody in this thread? that would be a first).

All the Spring critics I've seen so far, are people telling us they won't use the framework, without having fully investigated the whole thing. Like Mr Rachim.

For example, the constant moaning about the "XML-hell" aspect of the framework has been addressed many, many times. Short answer is : there are other alternatives to XML configuration in Spring.

Maybe it's too much to ask, but people would do themselves and others who might read them, a favor by refraining from writing about subjects they haven't fully researched.

Just some thoughts.

  Message #235777 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Spring critics

Posted by: Davide Baroncelli on July 04, 2007 in response to Message #235772
there are other alternatives to XML configuration in Spring.


While this is true, I tend to go farther and directly state that Spring XML config does not suck AT ALL: not only it is a clear - and structured - way for expressing what it does need to express (a structure), but also it offers a number of features allowing reuse of definitions through composition or inheritance, modularization by means of context separation (direct imports or xml context aggregation), syntetic definitions through tag handlers which may be considered a way to impose "sensible defaults" which may be overridden by reverting to normal bean configurations, etc.etc.etc.

With the support offered by modern tools such as Eclipse SpringIDE or IDEA we now have refactoring capabilities, cross-searches of usages, navigation features, various analysis, and so on, bringing a nice, simple, consistent tool to an almost perfect state for what it does need to do.

Isn't this some sort of "duplication", given the fact that a java configuration system automatically gives all of this? Maybe, but I think that the structure that the XML naturally induces is not bad at all, for a configuration system: I experimented with various styles of java configuration and wasn't particularly attracted by any of them.

More than that: I never really feel the need of anything more than what I have with Spring. This is why I tend to get irritated when I read that "Spring sucks" or "Spring API is not usable": this is simply not true at all. It may MAYBE made better, but there surely isn't any positive revolution on the horizon, yet.

Assimilating the "Spring vs Guice" comparison to the "Struts/EJB2 vs all-the-nice-things that came after" one is surely a good marketing try, but is completely off-target: Spring is not Struts 1, nor EJB2, and moreover Spring IS a lot of those "nice-things-that-came-after". Prove your value, then have the world recognize your value, then you will be able to say that "Spring sucked". Up until now, I only see annotation configuration, more dependencies and invasiveness, and unstructured java configurations in a quasi-descriptive language which do not give value at all to solve the hardest problems we are facing these days (GWT does, in a smart way, for instace: this is real innovation).

In short, what is important for a tool such as Spring XML configuration is that it offers a clear, simple, and powerful set of tools to enforce best practices, and to obtain nicely organized structures of modules (application contexts). Having said that, if a team does NOT use those tools, this surely as hell means there will be a lot of incredibly dumb and verbose XML: but I think there is not a single tool in the world that prevents idiotic use or abuse.

  Message #235780 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Spring critics

Posted by: Drew McAuliffe on July 04, 2007 in response to Message #235777
Well said. I also tire of the "XX sucks" crowd when they're talking about things that work. They're people who think that crowing loud or going against the grain FOR ITS OWN SAKE is somehow noble. "Stop drinking the koolaid" is a big thing you'll hear out of them, even when you're being perfectly reasonable about why you support something, because it gives them a thrill to be some kind of iconoclast, and implicitly superior to the poor huddled masses.

Sorry to get psychological, but this kind of flamebaiting of Spring is tired. You know why people said "EJB2 sucks" or "Struts sucks"? Because they did. There were lots of tiresome problems with them that got in the way of actual productivity and didn't make sense. At the time Spring was created, you could point to it as an alternative to Spring not because it was just different, but because it grew directly out of experiences with EJB2 and other technologies. There were specific pain points that were addressed. It became popular on its own merit, not simply because it was the big new thing (I'm looking at you, ROR).

Is there room for improvement? Sure, as there is with anything. But just hopping on a "Spring sucks" bandwagon without really understanding why (maybe you just didn't "get it", though there isn't much to get; maybe you are a natural contrarian; maybe you have a vested interest in Spring not succeeding so that your product does **cough jboss cough**) or ADMITTING why is just poor form.

Man, why do I find myself missing the days when I could contribute something to this board other than a fed up blast of these flamebait posts? back in the day there was actual useful discourse here. Now there's so much noise that I only find it worthwhile to contribute when I get really angry by stupid flames. Sigh....

  Message #235783 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Arif Rachim: Five Reasons I think I won't use Spring

Posted by: Mr Fox Mr Fox on July 04, 2007 in response to Message #235676
Well, I've been hearing great news about spring though I have never had a chance to work with it until recently when I wanted to evaluate.

I did not understand why the MVC configuration itself has to be that complicated. I felt, struts did a good job at it.

When it comes to the bean configuration, i feel XML based configuration makes is more clumsy. Also, the option of combining it with unit test configuration makes it more and more difficult. But my basic question is, such bean configuration being something that get rolled off to production environment who would on the world would like to keep the unit testing configuration as well in it. I felt it's so stupid (I am sure there must be a way around to get rid of unit-test configurations when it gets rolled into production).

If you have had some experience with ATG, you would agree with me that how elegant such bean (atg components) configurations are - what spring achives in the name of IoC is what done in ATG world as well.

AFAIK about spring MVC, in my opinion, is not living up to it's braggings.

I also felt, I would love to spring to develop my lab projects for fun or something.

Spring framework is still in my list as potential framework to migrate our enterprise applications though.


--
panfox

  Message #235785 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Arif Rachim: Five Reasons I think I won't use Spring

Posted by: Nader Aeinehchi on July 04, 2007 in response to Message #235676
To my experience, Arif is very right. Period!

We have used Spring and Dependency Injection in a large project, and the result is ugly. You end up with tons of configuration files, and increase the complexity of the project. I have experienced countless hours wasted figuring out misconfiguration in a Spring configuration file. Annotation approach is definitely a step in the right direction.

Dependency Injection itself is not a bad idea, if it is used carefully and when appopriate. The current trend is that developers simply turn every single Java class into a Spring service. More specifically, every class is turned into a set of getters and setters. The latter simply breaks the object oriented design principles. Classes must have clear and precise interfaces. A lot of getters and setters is simply a bad idea!

  Message #235787 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Arif Rachim: Five Reasons I think I won't use Spring

Posted by: Magnus Heino on July 04, 2007 in response to Message #235785
To my experience, Arif is very right. Period!

We have used Spring and Dependency Injection in a large project, and the result is ugly. You end up with tons of configuration files, and increase the complexity of the project. I have experienced countless hours wasted figuring out misconfiguration in a Spring configuration file. Annotation approach is definitely a step in the right direction.

Dependency Injection itself is not a bad idea, if it is used carefully and when appopriate. The current trend is that developers simply turn every single Java class into a Spring service. More specifically, every class is turned into a set of getters and setters. The latter simply breaks the object oriented design principles. Classes must have clear and precise interfaces. A lot of getters and setters is simply a bad idea!


And exactly how is Spring forcing you to use setters and getters?

You run a large project without well defined design rules of what should become a spring bean, how to use setters and getters etc, and then you blame Spring for failing?

/Magnus

  Message #235788 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Increasing Spring's Startup Performance

Posted by: David McCoy on July 04, 2007 in response to Message #235740
Most of the time, you can use JVM hotclass replaces(at least I can) when I'm debugging and don't have to restart the app from scratch.


Um... have you actually tried this? You can swap a class so long as only method bodies have changed. I hardly think tweaking a method body qualifies as "most" of the changes you're likely to make.


Um...yes I have actually used it. I wouldn't talk about if I didn't use it and I'm well aware of its limitations.

I don't tend to add many methods when I am *debugging*.

  Message #235789 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Arif Rachim: Five Reasons I think I won't use Spring

Posted by: David McCoy on July 04, 2007 in response to Message #235785
To my experience, Arif is very right. Period!

We have used Spring and Dependency Injection in a large project, and the result is ugly. You end up with tons of configuration files, and increase the complexity of the project. I have experienced countless hours wasted figuring out misconfiguration in a Spring configuration file. Annotation approach is definitely a step in the right direction.

Dependency Injection itself is not a bad idea, if it is used carefully and when appopriate. The current trend is that developers simply turn every single Java class into a Spring service. More specifically, every class is turned into a set of getters and setters. The latter simply breaks the object oriented design principles. Classes must have clear and precise interfaces. A lot of getters and setters is simply a bad idea!


Don't blame the tool, blame the user and speak for yourself. You used Spring inappropriately and you turned every class into a service.

Just because you cannot drive and wrecked your car doesn't mean the car is a poor invention. Perhaps you need to pass the road test instead of just getting behind the wheel.

  Message #235791 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Arif Rachim: Five Reasons I think I won't use Spring

Posted by: Nader Aeinehchi on July 04, 2007 in response to Message #235789
"Don't blame the tool, blame the user and speak for yourself. You used Spring inappropriately and you turned every class into a service."

You obviously did not read my text. I said: "Dependency Injection itself is not a bad idea, if it is used carefully and when appopriate". And then I said: "The current trend"

I would personally never make every class to a Spring service, but that is what was done by several experienced Java developers.

Just that you have learnt Spring, it does not necessarily qualify you to be a good driver.

  Message #235792 Post reply Post reply Post reply Go to top Go to top Go to top

Re: helloworld-object.xml

Posted by: Roy Russo on July 04, 2007 in response to Message #235751
Don't worry, the XML is there, and it is so awful that it screams: you may have all the tools you want, but if you needed to document it, this means that somehow one has to deal with it.


I agree. In my car, the motor is there, and it is so awful it screams: I may have all the wrenches I want, but if Toyota needed to document it, this means that somehow I have to deal with it.

.. or I can just focus on driving while using the clever "user-interface".

  Message #235793 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Arif Rachim: Five Reasons I think I won't use Spring

Posted by: Eduard Letifov on July 04, 2007 in response to Message #235747
Funnily while seemingly disagreeing with me you are in fact re-enforcing the exact points I made.

You say with Spring "you still need to understand in depth what is happening under the cover". Exactly, and those who do - benefit and deliver. I am more than sure that these people would have done well with "standard" j2ee stack. Unfortunately from my experience "many people who have embraced Spring" do not understand. With the "standard" stack they would have evolved - either learned or failed and disappeared into oblivion. With Spring - they linger on longer.

Yes, I want the very best people to use J2EE stack. Dumbing the technology down (and I mean this in an abstract context, not Spring one) scores extremely low on my list of values.

  Message #235798 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Spring critics

Posted by: Andrew Clifford on July 04, 2007 in response to Message #235777
In addition to the general XML sucks complaints about Spring, it seems those vested in some competing containers have issue with Spring. That fact that Spring can contain or be contained makes it flexible, integratable and hard to compete against. It's like a Java VM on a Windows OS, MS can't kill it.

IoC is a great pattern that people should be using whether the implementation is homegrown, Spring or something Guicier. Currently, Spring hits a sweet spot and gives many a face-saving, bloodless path and argument out of EJB-think. As for XML, Spring provides multiple strategies to wire your system so the XML argument seems like noise.

Despite this looking like a stupid TSS post it's good to test the argument of even realy good technologies now and then.

  Message #235802 Post reply Post reply Post reply Go to top Go to top Go to top

congig sucks

Posted by: J Dev on July 04, 2007 in response to Message #235676
xml configuration realii sucks,

jYog.com

  Message #235805 Post reply Post reply Post reply Go to top Go to top Go to top

Re: jyog sucks

Posted by: Persistability Ltd on July 05, 2007 in response to Message #235802
xml configuration realii sucks,

Your level of spelling and level of intelligence has really been demonstrated by that post. Congratulations

  Message #235806 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Arif Rachim: Five Reasons I think I won't use Spring

Posted by: Amin Mohammed-Coleman on July 05, 2007 in response to Message #235676
As some has already mentioned xml configuration is not the only way to use spring. Annotation and Java configuration classes are available. To be honest there isn't a problem with using xml configuration as long as you plan/design it properly. It's really getting old news now for not using Spring because of xml configuration.

Spring allows easier J2EE/Java EE development with new features/sub-projects soon to be available. I cannot see why some people are so against using Spring....finally have we not had this debate quite a few times already?!

  Message #235810 Post reply Post reply Post reply Go to top Go to top Go to top

Re: helloworld-object.xml

Posted by: Davide Baroncelli on July 05, 2007 in response to Message #235792
or I can just focus on driving while using the clever "user-interface".


Which of course is what you can do with Spring ides, also. ;)

By the way, I guess you have nice user interfaces for configuring things like jboss-cache, jgroups, the mbeans microkernel and things like that? It seems to me you have a fair amount of XML config, for being XML-config-bashers. And your XML config is generally far,far,far,far uglier than what is possible with Spring 2.1.

  Message #235812 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Arif Rachim: Five Reasons I think I won't use Spring

Posted by: tony siciliano on July 05, 2007 in response to Message #235785
To my experience, Arif is very right. Period!

We have used Spring and Dependency Injection in a large project, and the result is ugly. You end up with tons of configuration files, and increase the complexity of the project. I have experienced countless hours wasted figuring out misconfiguration in a Spring configuration file. Annotation approach is definitely a step in the right direction.

Dependency Injection itself is not a bad idea, if it is used carefully and when appopriate. The current trend is that developers simply turn every single Java class into a Spring service. More specifically, every class is turned into a set of getters and setters. The latter simply breaks the object oriented design principles. Classes must have clear and precise interfaces. A lot of getters and setters is simply a bad idea!



Of course, when I was saying that I've never met an actual Spring user complain about the framework, I was referring to people who have a minimum set of skills as of application design...

I do realize that the above comment appears as inflammatory, but, since I have zero tolerance for programmers who can't program, take it anyway you want it.

  Message #235813 Post reply Post reply Post reply Go to top Go to top Go to top

DI

Posted by: Anton Fedotov on July 05, 2007 in response to Message #235812
I think DI can be separated on 2 parts:

1. Hard dependency. Between objects that will not be modified in future( static dependency )
For this type we using Java config classes and annotation
in code for clearness.
2. Soft dependency. Changeable part of dependencies(dynamic).
We use this for replace dependency externally
( replace real service with mock for example , change
property value from one property to another for example).

Combining these two complementary parts we can build
great applications IMHO.

Spring contains all of these.And I like it, because
for big applications I can combine both of these and
for small choose only one preferrable at this moment.

Just my 2 cents.
Thanks Spring Developers for Great Integration Framework.
p.s.
Sorry for bad english.

  Message #235815 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Arif Rachim: Five Reasons I think I won't use Spring

Posted by: Werner Punz on July 05, 2007 in response to Message #235789
To my experience, Arif is very right. Period!

We have used Spring and Dependency Injection in a large project, and the result is ugly. You end up with tons of configuration files, and increase the complexity of the project. I have experienced countless hours wasted figuring out misconfiguration in a Spring configuration file. Annotation approach is definitely a step in the right direction.

Dependency Injection itself is not a bad idea, if it is used carefully and when appopriate. The current trend is that developers simply turn every single Java class into a Spring service. More specifically, every class is turned into a set of getters and setters. The latter simply breaks the object oriented design principles. Classes must have clear and precise interfaces. A lot of getters and setters is simply a bad idea!


Don't blame the tool, blame the user and speak for yourself. You used Spring inappropriately and you turned every class into a service.

Just because you cannot drive and wrecked your car doesn't mean the car is a poor invention. Perhaps you need to pass the road test instead of just getting behind the wheel.


I second this opinion i have used spring in about half a dozend projects by now, and turning every class into a service is the worst decision you can make. I personally made the best experiences with IOC if used on a rather high level as binding glue between the layers.

Which means, view layer -> spring beans, bo -> spring beans -> dao spring beans, but nothing else except maybe some aop constructs which are bound to the layer beans.

Everything else in between is hard linked.
That way you only have to touch the configuration ocasionally it does not become overly bloated but you still can work with simulated layer objects etc... all the stuff which IoC can help you with.

Spring is a hammer, that does not mean you can repair everything with it.

  Message #235840 Post reply Post reply Post reply Go to top Go to top Go to top

Re: How hard is creating objects anyway?

Posted by: Marcos Oliveira on July 05, 2007 in response to Message #235686
I think you not getting the mood. You concern with your design and let the framework do creation and the wiring. When you work in a medium or large project you can reduce the pains of initial startup and object creation and make it in an elegant way.

  Message #235841 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Ah...the quarterly anti-Spring post...

Posted by: Marcos Oliveira on July 05, 2007 in response to Message #235712
summer is officially here. This is how you know you are number 1. Someone devotes an entire, usually inaccurate post about why you suck or they won't use you.

If only people devoted as much time to crafting a solution as pointing a finger.

What do *I* think? How about writing something that does the job better since you have all the answers.



And just to mention: you can choose which framework (or no framework at all), it's a free world.

  Message #235848 Post reply Post reply Post reply Go to top Go to top Go to top

Re: How hard is creating objects anyway?

Posted by: valraven smith on July 05, 2007 in response to Message #235840
> When you work in a medium or large project you can reduce the pains of initial startup and object creation and make it in an elegant way.

What is more elegant, one place where you can actually see how your application is wired together in code, or hundreds of xml files scattered across a file system? Your system should be in the code.

  Message #235853 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Arif Rachim: Five Reasons I think I won't use Spring

Posted by: David McCoy on July 05, 2007 in response to Message #235791
"Don't blame the tool, blame the user and speak for yourself. You used Spring inappropriately and you turned every class into a service."

You obviously did not read my text. I said: "Dependency Injection itself is not a bad idea, if it is used carefully and when appopriate". And then I said: "The current trend"

I would personally never make every class to a Spring service, but that is what was done by several experienced Java developers.

Just that you have learnt Spring, it does not necessarily qualify you to be a good driver.


Oh, I read your text

"We have used Spring and Dependency Injection in a large project, and the result is ugly. You end up with tons of configuration files, and increase the complexity of the project. I have experienced countless hours wasted figuring out misconfiguration in a Spring configuration file. Annotation approach is definitely a step in the right direction."

*You* ended up with an ugly result.
*You* spend countless hours figuring out a problem most likely caused by your ugly result.

If your result was ugly, the most likely cause was you and your inappropriate use of Spring. Ayou've shown, learning it doesn't qualify you to be a good driver.

*Your* developers made mistakes and you are blaming the tool.

Don't blame the car for the drivers inexperience.

  Message #235854 Post reply Post reply Post reply Go to top Go to top Go to top

Re: How hard is creating objects anyway?

Posted by: David McCoy on July 05, 2007 in response to Message #235848
> When you work in a medium or large project you can reduce the pains of initial startup and object creation and make it in an elegant way.

What is more elegant, one place where you can actually see how your application is wired together in code, or hundreds of xml files scattered across a file system? Your system should be in the code.


???? Who has hundreds of XML files vs. hundreds of class files? You?

I'd love to see that uberclass! :-)

  Message #235855 Post reply Post reply Post reply Go to top Go to top Go to top

Re: How hard is creating objects anyway?

Posted by: Davide Baroncelli on July 05, 2007 in response to Message #235848
hundreds of xml files scattered across a file system


Hundreds? Scattered? Please.

"your system should be in the code": the xml config is a way to express structure, your system is in the code, its structure in the xml config. I don't know if xml is "elegant": what I'm pretty sure of, is that there is no way to write code in java that defines a structure in a more "elegant" way.

In my view an algorithm implementation may be elegant, a class structure may be elegant: the declaration of a structure is hardly something where you may put the intellectual value that qualifies something as "elegant".

XML for defining structures is not bad: the myth that XML configuration is a hell stems from having lots of different configuration files from different technologies, with different documentations, different approaches, different implementations, different locations and so on. This depends on the particular nature of java development, often made of different technologies assembled together.

What spring did, in this context, was to offer a path to a way to have all those different technologies be wired together and configured in an homogeneous way. At the beginning of our project we defined a location in our webapps where ALL the configuration files must reside, and we stick to it: it's not "scattered", it's in WEB-INF/cfg. If a technology forces us to put config somewhere else (WEB-INF/classes) we don't use it, period.

If a technology force us to use their particular configuration without being able to be configured by spring, we look at it with suspect.

When we started using spring for wiring struts actions, we quickly realized that it's unpractical having to provide duplicate bean definitions for every action: so we agreed on an autowire strategy and coded a simple extension so that we can override particular beans.

If you think you have to write thousands of configuration files if you use spring, you're wrong: you have to write thousands of config files only if you don't have a clue, but Spring has no part in it.

XML is not bad. If you don't like it, just use one of the other configuration styles (java, annotations).

  Message #235859 Post reply Post reply Post reply Go to top Go to top Go to top

Re: How hard is creating objects anyway?

Posted by: valraven smith on July 05, 2007 in response to Message #235855
> XML for defining structures is not bad:

Are they typed check? Do they show up in the code? Are they refactorable? Do I know where they are in the file system? How do I tell what all the magic elements mean or do?

That's all bad to me.

> If a technology force us to use their particular configuration without being able to be configured by spring

Then it seems spring should just be folded into the language because there is not allowed deviation.

> If you think you have to write thousands of configuration files if you use spring

Either there's so much to configure you need help or there's so little that you don't.

  Message #235862 Post reply Post reply Post reply Go to top Go to top Go to top

Please show some code?

Posted by: valraven smith on July 05, 2007 in response to Message #235855
It would be helpful if someone could show some code that demonstrated the benefits. Do you have some that makes it clear ? I simply don't see when using springified projects.

  Message #235899 Post reply Post reply Post reply Go to top Go to top Go to top

EJB3 - Spring - Architecture or not

Posted by: Fatih Algan on July 05, 2007 in response to Message #235748
Hmm.. Yes, I do agree with you on one point.. Maybe it's because nowadays no one can clearly say what an architecute is.. On my side, I prefer to be practical and not go into deep arguements about buzzwords.. Yes, with Spring, you can use the "techonlogy, or API" of your choice.. And that is also what I specially pointed at.. One of my favorites in Spring.. Personally, I like Spring. I find it clever and use it with pleasure.. And EJB3 has learned so much from both Hibernate and Spring in the right direction, but to agree with you, with some limitations and lock in... However, my point of view from architecture was; EJB 3 bears the same philophy under mind, the lessons learned from Spring and Hibernate.. That's nothing new.. The interesting thing to be emphasized here is the conceptual difference between Seam and Spring. Or the conceptual difference between stateful and stateless "architecture" from the end user(end programmer) point of view..

  Message #235927 Post reply Post reply Post reply Go to top Go to top Go to top

Re: [Name]: [Number] Reasons I think [Action | Emtion] [Product]

Posted by: George Coller on July 06, 2007 in response to Message #235695
Come on. This must be the worst post so far this year.


Well, that's certainly not for a lack of competition .. ;-)

Peace,

Cameron Purdy
Oracle Coherence: The Java Data Grid


Tee hee.

There is something to this. Where have all the good bloggers gone? Seriously between this, the JEE 6 spat, and the SOAP article I might just have to cancel my subscription.

  Message #235953 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Please show some code?

Posted by: David McCoy on July 06, 2007 in response to Message #235862
It would be helpful if someone could show some code that demonstrated the benefits. Do you have some that makes it clear ? I simply don't see when using springified projects.


Then don't use it. If you don't understand it, don't use it. You wouldn't put a gun in your mouth, right?

However, a gun pointed at your enemy is a powerful weapon.

IMO, the usefulness of Spring is pretty obvious. Check out that old Introduction to the Spring Framework paper hosted on this site. If, after reading that, you don't agree with Spring's philosophy, then it simply isn't the tool for you.

However, there are plenty of people who *do* understand it and use it.

  Message #235954 Post reply Post reply Post reply Go to top Go to top Go to top

Re: How hard is creating objects anyway?

Posted by: David McCoy on July 06, 2007 in response to Message #235859
> XML for defining structures is not bad:

Are they typed check? Do they show up in the code? Are they refactorable? Do I know where they are in the file system? How do I tell what all the magic elements mean or do?

That's all bad to me.

> If a technology force us to use their particular configuration without being able to be configured by spring

Then it seems spring should just be folded into the language because there is not allowed deviation.

> If you think you have to write thousands of configuration files if you use spring

Either there's so much to configure you need help or there's so little that you don't.


Yes they are refactorable. Yes, you get errors if you try to inject something that isn't of the right type. If you are using the XML and you don't know where it is, the fault lies in you, not Spring.

Again, if you think you need thousands of configuration files, you don't understand the technology and are wise to avoid it.

  Message #235978 Post reply Post reply Post reply Go to top Go to top Go to top

How about this for benefits

Posted by: Matthew Inger on July 06, 2007 in response to Message #235862
Here's one huge benefit of spring:

public interface MyServiceDao {
@Transactional(propagation=Propagation.REQUIRED)
public void addMyObject(MyObject myObject);
}

public class MyServiceDaoImpl extends HibernateDaoSupport {
public void addMyObject(MyObject myObject) {
getHibernateTemplate().save(myObject);
}

And in your spring beans file:
<bean class="MyServiceDaoImpl"
p:sessionFactory-ref="sessionFactory" />

<tx:annotation-driven />

"Magically", your dao has proper transaction management, jdbc/hibernate resource handling, etc....

Think of all the code you'd be writing to handle transaction management by hand, especially jta based transactions.

The power of spring is not entirely in the IOC container. There are many IOC containers available which can do the job (hivemind, guice, picocontainer). It's the integration points with things like Hibernate, JPA, JTA, JNDI, AOP (aspectj and aopalliance), etc... that give it the most power.

Any of these IOC containers can be abused by turning everything into managed beans. You use managed beans where they make sense, such as integration points between layers of your application (dao, service, ui, etc...) and where alternate implementations may be provided.

Spring is a great framework, and yes, there are things that could use improvement. That being said, Rod and co are very good at listening to feedback and actually acting on it.

If spring doesn't work for you, don't use it. Use what works best for your project.

  Message #236027 Post reply Post reply Post reply Go to top Go to top Go to top

Re: How about this for benefits

Posted by: Bob Lee on July 06, 2007 in response to Message #235978
Matthew, for what it's worth, Guice supports @Transactional, too. You can use Spring's implementation directly (and many people do).

  Message #236098 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Arif Rachim: Five Reasons I think I won't use Spring

Posted by: Mike Zatko on July 09, 2007 in response to Message #235676
Arif doesn't know what he's talking about.

  Message #236124 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Arif Rachim: Five Reasons I think I won't use Spring

Posted by: Jim Shi on July 09, 2007 in response to Message #235791
"Don't blame the tool, blame the user and speak for yourself. You used Spring inappropriately and you turned every class into a service."

You obviously did not read my text. I said: "Dependency Injection itself is not a bad idea, if it is used carefully and when appopriate". And then I said: "The current trend"

I would personally never make every class to a Spring service, but that is what was done by several experienced Java developers.

Just that you have learnt Spring, it does not necessarily qualify you to be a good driver.


They skip OO programing and leapfrog right into SOA, the promising land.

  Message #236129 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Arif Rachim: Five Reasons I think I won't use Spring

Posted by: Urs Peter on July 10, 2007 in response to Message #236124
Five reasons for not choosing for Spring is not a lot.

Based on my personal experience I can find many more reasons for all the other frameworks out there for not using them, starting with EJB3 Session Beans.

So the question is: what's the better alternative?

I'm using Spring already for years - in small and big projects - and it simply works for me.

  Message #236323 Post reply Post reply Post reply Go to top Go to top Go to top

Re: There's a difference!

Posted by: Rodrigo Jardim on July 12, 2007 in response to Message #235748
Furthermore EJB3 uses a limited form of AOP while Spring uses a full one (or more than one AOP implementation if you want)

Daniele

That is not true,
Spring uses a subset of aspectJ and you need to allways remember that is uses proxy for AOP implementation.
AspectJ or AspectWerkz are full AOP implementations.
Spring and EJB3 are proxy based, that solve almost all the problems, but give you one more problem.
you need to remember that they are proxy based.

  Message #236324 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Arif Rachim: Five Reasons I think I won't use Spring

Posted by: Rodrigo Jardim on July 12, 2007 in response to Message #235853
Oh, I read your text

"We have used Spring and Dependency Injection in a large project, and the result is ugly. You end up with tons of configuration files, and increase the complexity of the project. I have experienced countless hours wasted figuring out misconfiguration in a Spring configuration file. Annotation approach is definitely a step in the right direction."

*You* ended up with an ugly result.
*You* spend countless hours figuring out a problem most likely caused by your ugly result.

If your result was ugly, the most likely cause was you and your inappropriate use of Spring. Ayou've shown, learning it doesn't qualify you to be a good driver.

*Your* developers made mistakes and you are blaming the tool.

Don't blame the car for the drivers inexperience.

Spring and DI does not make nothing ugly, the only problem is the big configuration files in big projects, but since the time I started the Spring-Annotations project, you can reduce a lot this configuration size.
and now it is being implemented a similar feature in the core of the spring-framework, what will make it easy for any one to use.

but I have to agree, big XML configuration files are difficult to read and maintain, but you can always break it into smaller modules.

  Message #236327 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Arif Rachim: Five Reasons I think I won't use Spring

Posted by: Rodrigo Jardim on July 12, 2007 in response to Message #235676
Just one last post.
I think all the reasons are valid, but there are a lot of reasons for "why to use spring" too.

nowadays you do not need to write all your configuration using XML, you have Spring Java Config, @Component and @Autowire, and http://sannotations.sourceforge.net project as alternatives.
if you want a scripting language, you have Groovy SpringBuilder.


and I think that the main thing about this post is that "there is no silver bullet".
Spring is a great framework for lots of situations.
I use it for years.
but I think that there are situations where it does not fit.

one of the responsibilities I have as an architect is to analyze each project, and tell what is the best technology, framework, language, combination of ..., for the project.

Most of the projects I have used java.
almost all java projects I used spring.

but some projects did not used java.
and some java projects did not used spring.

yes, spring is great, java is great, but you do not have to embrace a technology or a framework and use it all the time, you need to analyze every situation and choose what is best for that situation and that client.

well, at least this is my opinion.

  Message #236550 Post reply Post reply Post reply Go to top Go to top Go to top

Re: jyog sucks

Posted by: J Dev on July 17, 2007 in response to Message #235805
I think that u r a school boy, who comes here to learn spellings.

  Message #304942 Post reply Post reply Post reply Go to top Go to top Go to top

not so fast there Bill Burke (EJB 3.0 O'reily book author)

Posted by: bullz97 bullz97 on February 17, 2009 in response to Message #235699
so what if someone agrees with you that spring sucks. EJB 3.0 isn't good either. Whatever happened to just writing a class and using servlets? Elephant in the room. You really do not need a framework even for large projects. There is just too much hype these days. Gotta read through all the marketing bullshit and hype such as "Open source", "community driven", "Enterprise level", and other shit like that which makes you want to adopt a technology.

MessageMessageMessage
Thank you for replying to a message on TheServerSide!

Your reply has been successfully posted.
New content on TheServerSide.comNew content on TheServerSide.comNew content on TheServerSide.com

Dependency Injection in Java EE 6 - Part 1

Reza Rahman explores the features of the proposed JSR 299, Contexts and Dependency Injection for Java EE (CDI). When approved, it promises to be a key feature of Java EE 6. (November 2, Article)

SAML: It's Not just for Web services

SAML is an XML-based standard for exchanging authentication and authorization data between security domains. The single most important problem that SAML was created to solve is the Web browser Single Sign-On problem. Many organizations are debating whether to stay with version 1.1 or move to 2.0. This article makes observations about both options. (September 28, Article)

Programming is Also Teaching Your Team

Joe Ottinger takes a look at how people learn, and applies it to the practice of programming. He notes that understanding how people learn is an essential part of working in a programming team. (September 22, Article)

Can Java EE Deliver The Asynchronous Web?

Stephen Maryka gave us an article about the Asynchronous Web and posed a number of questions that get examined like an approach to delivering Asynchronous Web capabilities through extensions to existing Java EE technologies. (July 14, Article)

JSF Flex

JavaServer Faces Flex goal is to provide users capability in creating standard Flex components, part of flexSDK which is open sourced through MPL license, as normal JSF components. This article by Ji Hoon Kim will provide an overview of creating a simple multilingual JSF page consisting of JSF Flex tags. (June 29, Article)

The Rules of SOA - A Road to a Successful SOA Implementation

In this session Jeff explores the key characteristics of successful SOA projects. He covers some of the patterns, and anti-patterns, tool sets, and strategies that he himself learned the hard way. Last, he provides a strategy and blueprint for achieving a high likelihood of success in your SOA project. (June 23, Tech Talk)

Ari Zilka Talks About Terracotta 3.1

Ari Zilka, CTO of Terracotta, Inc., talks about the new features in Terracotta 3.1, announced during JavaOne and available now. (June 15, Tech Talk)

Enterprise Application Integration, and Spring

In this Tech Talk, Josh Long explores an integration challenge using Spring Integration and walks through the implementation, employing and expanding on the basic patterns of Enterprise Application Integration to tie together components into a function integration solution, and then demonstrates how Spring Integration helps address the integration requirements. (June 15, Tech Talk)

Google Web Toolkit: An Introduction

In this Tech Talk, David Geary teaches you: The basics of Google Web Toolkit; How to implement Ajax-enabled applications in Java; Internationalization; Hooking into the browser history mechanism; Remote procedure calls. (June 4, Tech Talk)

Just Enough Early Architecture to Guide Development

Jon Kern discusses the best architecture/technical solutions and ensure that they are repeated by all developers. By tackling the architecture up-front in a serial manner, subsequent parallel development will be much more manageable and predictable. (May 28, Tech Talk)

Productive Programmer: On the Lam from the Furniture Police

This keynote describes the frustrations of modern knowledge workers in their quest to actually get some work done, and solutions for how to guard yourself against all those distractions. Neal Ford talks about environments, coding, acceleration, automation, and avoiding repetition as ways to defeat the misguided attempts to sap your ability to produce good work. (May 26, Tech Talk)

Auto-Scaling Your Existing Web Application

Gil demonstrates how new, aggressive uses of already abundant compute capacity by common applications offer competitive value for application designers. (May 21, Tech Talk)

Automating Hibernate Mapping and Queries For Java Web Development

Chris Keene introduces WaveMaker as a new way to automate the ability to generate Hibernate classes in order to more quickly bring OR mapping into an application. (May 19, Article)

Auto-Scaling Your Existing Web Application

In this session Nati Shalom demonstrates how to take a standard Java EE web application and scale it out or down dynamically without changes to the application code. Seeing as most web applications are over-provisioned to meet infrequent peak loads, this is a dramatic change because it enables growing your application as needed, when needed, without paying for unutilized resources. (May 19, Tech Talk)

Free Book: Jakarta-Struts Live

Download the entire book of Jakarta-Struts Live and learn about Struts MVC, Tiles, the Validator, DynaActionForms, plug-ins, internationalization, and more.
(Book PDF Download)

Application Server Matrix

The Application Server Matrix is a detailed listing of J2EE vendors and their application server products, with information on latest version numbers, J2EE spec support and licensing, pricing, platform support, and links to product downloads and reviews.
(Application Server Comparison Matrix)

News | Blogs | Discussions | Tech talks | Patterns | Reviews | White Papers | Downloads | Articles | Media kit | About
Java Solutions
All Content Copyright ©2007 TheServerSide Privacy Policy
Site Map