During the MyEclipse for Spring webinar (replay is here), we received a lot of great questions from the webinar participants. Although we attempted to respond directly to all of the questions raised during the webinar, unfortunately, we ran out of time and couldn't respond to all of them. In this blog post, I would like to address some of the questions that we didn't get to answer and share some of the questions/answers that I think would be interesting to Spring developers.
What version of Spring is supported?
The MyEclipse for Spring milestone supports Spring 2.5.x, and the GA version will support both 2.5.x and 3.0.
Does MyEclipse for Spring support BlazeDS and Flex-Spring development?
Yes. The only difference between a Spring web application and Flex-Spring application is that Flex (instead of JSP and controllers) is used for the web layer. While the web layer may be different, the service and data layers are typically the same. While MyEclipse for Spring doesn't have any specific functionality related to Spring-Flex, MyEclipse for Spring can handle most of the bootstrapping for a Spring-Flex application. Furthermore, MyEclipse for Spring can scaffold major portions of the back-end of a Spring-Flex application (i.e. service and data layers). Look for an upcoming blog post, screencast and sample project dedicated to using MyEclipse for Spring for Flex-Spring development.
Is Spring-WS generation supported?
While we have done some work with Spring-WS, we aren't planning on dedicated support for Spring-WS in the initial release. MyEclipse for Spring will initially support generation of JAX-WS services using CXF. With that said, MyEclipse for Spring scaffolds and generates application components using the standard Spring stereotypes/annotations. In lieu of dedicated Spring-WS support, the Spring services (@Services) can be easily configured to be exposed as Spring Web Services.
Can MyEclipse for Spring leverage a legacy Spring app?
The general answer is yes, but it really depends on how you want to leverage the legacy Spring application. Do you want to use existing application artifacts (i.e. POJOs, JPA entities, database tables) as an input into scaffolding? Do you want to generate into an existing application? Do you want integrate with a legacy application via database or web services? For all these questions, the answer would be yes.
Can JSF/ICEFaces be integrated?
Spring supports the JSF framework, and MyEclipse for Spring provides tooling for both Spring and JSF. Both the Spring Web Flow editor and JSF Visual Designer in MyEclipse for Spring support the development of web applications based on the JSF framework. Look for an upcoming blog post, screencast and sample project dedicated to using MyEclipse for Spring for JSF development.
Does the MyEclipse for Spring subscription fee include the MyEclipse Pro fee?
Yes. MyEclipse for Spring subscription includes all the functionality of MyEclipse Pro.
Are there any runtime royalties for commercial use?
Absolutely not. The generated code is straight, best practice-based, Spring code. There are no proprietary libraries or anything else included in any way. The generated applications are all yours to do with as you please, unrestricted.
Is this compatible with SVN plug-ins for MyEclipse?
Yes, absolutely. You can use SVN, CVS, or whatever version control system you like.
How does MyEclipse for Spring compare with MyEclipse Blue?
MyEclipse for Spring is similar to MyEclipse Blue in that it is designed for a specific, focused market. However, they are two separate products. Blue is focused on WebSphere development with more traditional Java EE technologies, and MyEclipse for Spring is focused on Spring development on any platform.
Is there Maven support in MyEclipse for Spring?
MyEclipse for Spring will have full support for Maven; however, there are currently some Maven-related bugs (see release notes) in the milestone release. Look for an upcoming blog post, screencast and sample project dedicated to using MyEclipse for Spring with Maven.
How would a Spring application integrate with SOA (or previously created web services)?
There are a variety of technologies available for integrating a Spring application with web services, and they can all be used with the applications that are scaffolded or generated with MyEclipse for Spring. MyEclipse for Spring also provides tooling for generating Java-based web service clients from existing WSDLs.
What is Atomikos?
Atomikos is an open source JTA transaction provider, and it's the default transaction provider used in web applications that are bootstrapped or scaffolded with MyEclipse for Spring. However, you can reconfigure the application to use whichever JTA provider you want. None of the generated code references any Atomikos-specific classes.
Didn't MyEclipse Pro already have Spring support? How is MyEclipse for Spring different?
Yes, MyEclipse Pro has had Spring functionality for a few years now. However, the existing tools don't offer the advanced bootstrapping, scaffolding and code generation features that MyEclipse for Spring provides.
Is it possible to have the Junit tests generated into separate directory?
Yes, the destination directory and names of all generated artifacts can be easily customized.
What if you are the only member of dev team using the tool?
There are no caveats to using MyEclipse for Spring. You can layer this tool right into existing projects to leverage what you have and generate new artifacts as you add new functionality to the existing project. The tool works great whether you are a lone developer or part of a very large team. It is all about the code, and MyEclipse for Spring generates standard Spring code and configurations.