SpringSource Tool Suite – Eclipse for Spring Developers

Spring developers using Eclipse should take a close look at SpringSource Tool Suite (STS). STS is a FREE IDE, based on Eclipse with many of the essential tool to assist Spring developers. http://www.springsource.com/developer/sts. The major plugin to Eclipse is Spring IDE.

I recently authored the DZone RefCard – Eclipse Tools for Spring: The SpringSource Tool Suite. I teach the official Spring Courses. All the course material installs with STS and the student’s labs/solutions are configured within STS. With some of the more inquisitive students where I would be faced with questions about STS features that I did not truly understand. Like many developers, I don’t read manuals until I have to. What I discovered is that Eclipse plugin developers do not create full documentation, they write “New and Noteworthy” documents that address new features and product improvements. So, to get an understanding of what features are available and how they work, one has to read all of these documents to get an idea of the features available. There is not any comprehensive documentation available.

I am a huge fan of the DZone RefCardz. In six pages you get a nice quick start on a technology. Since I love to learn and share, this seemed like a great opportunity to focus on the core Spring features in STS.

My first attempt was to go through the menus and find the Spring specific features. This was helpful, but left many questions unanswered.


First Places to Look

  • Right Click on a Project > Spring Tools
  • Preferences > Spring

After a good chunk of time, I realized that this would be far more than 6 pages of material, so I narrowed the RefCard down to simply core Spring features.


Feature Categories

  • Core Spring
  • Spring & OSGi (formerly Spring Dynamic Modules & Spring dm Server)
  • Spring Dashboard
  • Groovy
  • Grails
  • Spring Roo
  • Spring Batch
  • Spring Integration
  • Spring Web Flow
  • tc Server
  • CloudFoundry

Obviously, the essential items for core Spring are covered in the RefCard (space permitting).


Cool Stuff

  • Visualizers
  • Validation
  • Spring Configuration, XML Content Assist
  • Spring Focussed, Java Content Assist
  • Spring AOP

I am planning on a series of ScreenCasts focussing on specific features of STS. In the meantime, if you have any questions, feel free to contact me mailto:gordon@gordondickens.com



About Gordon

Technology enthusiast primarily focused on Java and Open Source projects. Spring Certified Professional and Trainer. http://twitter.com/gdickens http://linkedin.com/in/gordondickens http://github.com/gordonad
This entry was posted in AOP, AspectJ, Eclipse, Grails, Groovy, Java, Roo, Spring, Spring AOP, Spring Batch, Spring Framework, Spring Integration, Spring MVC, Spring Roo, Web Flow and tagged , , , , , , , , . Bookmark the permalink.

3 Responses to SpringSource Tool Suite – Eclipse for Spring Developers

  1. Matthias says:

    I’m currently on a larger project, heavily using STS. In fact, I’m not too happy with STS.
    The mail reason is it’s large plugin overhead. Where maven “Downloads the internet”, you “Instal the internet” with STS.

    It comes with way too many plugins, who actually make Eclipse even more memory hungry and rather slow. Especially the maven plugin frequently causes IDE crashes for most people I know.
    Additionally, I don’t see, why Spring Development should be coupled to specific build tools or versioning tools (does the IDE still come with the SVN plugin?).

    Spring support itself is very nice, hwoever, I would really love to see the developers of that IDE getting rid of all these boilerplate plugins.

  2. admin says:

    Matthias,

    Your comment contains to many assumptions and general statements.

    Maven is not part of STS. STS includes the M2E plugin that supports the use of Maven within Eclipse. Maven is a dependency management tool, and a very good one. Maven solves the pain of manually searching and managing all of those dependencies. In fact, when you take the time to learn how Maven works, you can tweak the dependency management. There are even free books on the web for Maven.

    Dependency Management Options

    • Maven
    • Gradle
    • Ant & Ivy – not favorable. By the way, I was quite the Ant expert back in 1999
    • Manual Jar management – ugh, what year is it? No! No! No!

    Plugin issues

    • Have you tuned your STS.ini JVM parameters?
    • Have you tuned your Maven JVM parameters?
    • Which plugins, do you not like/use? Uninstall them!

    Other Responses

    • Which version of Eclipse are you using? I never have a crash with Helios or Indigo.
    • Spring Development IS NOT coupled with specific build tools or versioning tools. I believe SVN is installed (the cool kids use Git). – Bad assumption.
    • Which “boilerplate” plugins? Be specific, general statements are not helpful.

    In the RefCard, I presented the features of STS, which are Spring project support tooling. STS does this very well! Like any tool, there is always room for improvement. I have submitted many JIRA tickets for improvements. But the key is “be as specific as possible”.

    Many developers love to complain, and are only optimistic about project estimates ;) I find those that compain don’t set aside time to learn what they are frustrated with. I have been in that boat, but before I sit at lunch and complain with my teammates about “this tool” or “that tool” and my “assumptions” of how it does or does not work, I do some research. If I discover real legitimate issues, then I submit JIRA tickets. Wow, this is the same as when our clients just tell us “it doesn’t work” and then dumps it on us to resolve that generality.

    The awesome nature of open source (besides the fact that it is free) is that WE have the ability to learn everything about what we are working with. Those that have the initiative and drive to learn about what frustrates them will exceed farther than those that “armchair” criticize what they do not understand. No education is free. It always involves time. Paying for education can also accelerate this process.

    In the RefCard, I presented the features of STS, which are Spring project support tooling. STS does this very well! Like any tool, there is always room for improvement. I have submitted many JIRA tickets for improvements. But the key is “be as specific as possible”.

    If you want another IDE, IntelliJ IDEA is awesome for Spring developers also. This is a paid product, and well worth it.

    Regards,
    Gordon Dickens

  3. stefano says:

    Hello,
    I have tried to use the STS plug-in in Eclipse/Indigo with not much luck. I am new to Spring and I need a basic tutorial to get started, which I could not find. I found some other simple examples elsewhere but I could not figure out which jar files need to loaded. (The new Spring project wizard does not add anything to the build path)
    Stefano

Leave a Reply

Your email address will not be published. Required fields are marked *


*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>