We recently posted a story to DZone on the merits of why MyEclipse for Spring (ME4S) is the only Spring IDE that a developer will ever need, what ensued in the comments section became an unexpected debate about the Spring capabilities of IntelliJ IDEA versus ME4S. This post is for our readers considering what IDE is best for their Spring development; we captured the comments so that you can make an informed decision about your Spring development needs.

Let the show begin....

Dxxvi says:

It's $100/year. IntelliJ IDEA $250 for the 1st year, $150 next years. Idea supports not only Spring but hundreds of other things. I haven't used ME4S yet so I wonder if I can do these things with it:

Clicking on any spring bean name leads me to the bean definition.
- Code completion/suggestion in spring xml: for example when I type class="org.springf Idea shows a list of packages starting with springf for me to select.
- For Spring 3, if I write @Value("${A_NAME_IN_PROPERTIES_FILE}") private boolean aNameInPropertiesFile; then when I point the mouse over A_NAME_IN_PROPERTIES_FILE I will see its value and the properties file name where it's declared.
- From Java, Idea gives me an icon for a java class which is a spring bean. Clicking on that icon will lead me to the bean definition in xml files.
- Spring AOP: Idea gives me an icon at this line

nieleyde replied

ME4S is MyEclipse Pro *plus* a bunch of additional Spring-related tools capabilities. So in addition to get the best general-purpose Java IDE, you also get specialized Eclipse editors for each stereotype supported by Spring web applications (@Controller, @Service, @Repository, @Component, Spring Web Flows) and a boat load of Spring code generation. From your domain model (db tables, java beans or JPA entities) you can instantly generate full ready-to-run applications or just the specific application components that you need.

Here's a list of the application types and components that are generated:
1. Spring MVC
2. Spring Web Flow
3. Adobe Flex + Spring
4. GWT + Spring
5. JSF 2.0 + Primefaces + Spring (coming very soon)
6. Spring MVC for iPhone
7. REST (coming very soon too)

IDEA is a good IDE, but it just doesn't have all the functionality of ME4S. Furthermore with the Eclipse ecosystem, there are hundreds and hundreds of available Eclipse plugins that can extend and complement ME4S.

I hope you get a chance to try it out. If you don't have the time, I recommend you check out the ME4S YouTube channel or some of the more recent webinars.

As far as your scenarios, I believe ME4S has equivalent functionality for everything except your second bullet.


Mario Arias replied

IDEA have all this features, including those that you mark as "coming very soon" (minus, Spring MVC for iPhone... but What is that?) and much more like Spring + Hibernate + SQL Integration, Spring Test Framework and Spring WS

nieleyde replied

Mario, I think you are misunderstanding me. ME4S can be used to develop all the application types that I listed, *AND* ME4S can also be used to generate full ready-to-run applications for these technologies.

I just took a look at IDEA again to see if perhaps they've introduced more advanced code generation and Spring editors since the last time I reviewed IDEA. I found several references to how IDEA can be used to develop different types of applications, but I couldn't find anything that references how IDEA can generate fully implemented applications. I also couldn't find any references to any dedicated editors for maintaining Spring stereotypes. I'm not referring to only content-assist (which ME4S also has)....I'm referring to dedicated editors that present the developer with all the configuration options for a given Spring stereotype.

Let me describe one of the simplest scenarios of ME4S generation functionality. Let's say that you want to generated a Spring MVC application from a single database table. (Remember this is intended to be a very simple example). Using ME4S I would use the scaffolding wizard to specify (a) the database table to be used and (b) the desired application type [Spring MVC]. From only that information ME4S will generate a complete application, including:

1. a JPA entity corresponding to domain model
2. a DAO for managing the JPA entity (Spring @Repository)
3. a full set finder methods (JPA named queries) for JPA entity
4. a Service with fully implemented CRUD operations for managing domain model (Spring @Service)
5. a Controller with fully implemented request handlers for supporting web application (Spring @Controller)
6. all the necessary Spring annotations and configuration files for a Spring MVC app,
7. all the necessary JSP pages using Spring Form tag library and JSTL
8. a layout managed user interface using Sitemesh,
9. client-side validation implemented Spring JS with DOJO,
10. CSS for UI styling
11. JUnits for every Service and Controller,
12. SpringSource certified code and configuration files,
13. Hibernate configuration, and
13. all the required Java libraries

This whole process takes less than one minute.

Perhaps you don't want an HTML front-end. Maybe you want an Adobe Flex or GWT front-end. Just re-run the ME4S scaffolding wizard and select Adobe Flex or GWT (or both for that matter) instead of Spring MVC. In a few more minutes you have a full ready-to-run Adobe Flex and GWT application that's integrated with a Spring back-end.

I hope that helps.

Mario Arias replied

OK, We see the development process from a very different mindset.

Actually, I never trust on any code generated by an IDE, and most of the average IntelliJ Users will think the same.

jkennedy@skywaysoftware.com replied

Mario, you should take a look at the code and follow up with us if you have any specific recommendations. Our goal has always been to generate code that that is indistinguishable from hand written code. We completely understand that there have been some "bad" code generators out there, and sympathize with developers who have been turned off to the idea that the IDE can assist with repetitive coding tasks. We hope you will reserve judgment until you review the code in question. We have taken great care to replicate best practices and to deliver clean and consistent code and configuration files.

We also offer the ability to customize the templates that are used in the generation process. We'll look forward to your specific feedback.

Jack Kennedy

mikeezx6r replied

@dxxvi Actually, it's $200/yr. They're offering 50 percent off initially to get some users...

dxxvi replied

I was talking about personal licenses and you were talking about commercial licenses


So there it is, the merits of both IDE as it relates to Spring development. If you'd like to continue the discussion, meet us at this thread on DZone.

In the end, if you wish to try ME4S free for 30 days, go here.

To compare IntelliJ IDEA, try a trial here.

Related Posts

How Developers Can Get in on the Pokémon Go Craze Unless you’ve been living under a rock, you’ve heard of Pokémon Go. This mobile app uses GPS to combine the virtual world and the real world. Back in the day, I logged many hours playing Pokémon on an old Nintendo Game Boy. Now, Pokémon Go has gotten me outside hunting for Pokémon because I want to "catch’em all"!I must not be the only nostalgic Po...
How Working from Home Got Me out of the House I feel privileged to work for a company with a virtual workplace. I know some of you will read this and think it must be lonely to work from home, but that’s not the case. Genuitec’s annual team building trips have been a great way to stay connected with my team. These trips have also helped me realize how much I enjoy discovering new places.Let’s ...
MyEclipse 2016 Stable 1.0 – The Saga Continu... After months of very arduous work, MyEclipse 2016 Stable 1.0 is finally here! This is definitely one of the most exciting releases of the year (so far!). Why? Because we not only continued maintaining and improving core Java EE features, but we are also focusing on providing support for the Full Stack developer allowing Java EE-centric enterprises ...
Module Bundling with Webpack: An Introduction Webpack is an open-source JavaScript module bundler developed by Tobias Koppers and Webpack contributors. The initial release was March 10th, 2012 and the current stable version is 1.13.Webpack takes modules with dependencies and generates static assets representing those modules. All your assets are considered as modules and packaged in a final bu...

Posted on Feb 17th 2011