Published by Christian Dupuis 2 years, 11 months ago
We are definitely getting too little feedback on what users think, miss or dislike about Spring IDE. Therefore it is always nice to find some feedback - being good or bad - on the web:
Refactoring and string identifiers is a more valid concern, but it isn’t really an issue for me, as I’m using the latest and greatest Spring IDE in Eclipse (really awesome plugin, btw). Yeah, I’m leaning on a tool to help me with this, but so is everyone else when they lean on their IDE to refactor Java code (try refactoring a method name with notepad if you don’t believe me). #
I am using the Spring IDE 2.0 milestones from the development update site and I am very satisfied with all the new features. The Spring IDE team is doing a great job (thanks guys) and I believe that the 2.0 release is going to be a huge step forward. #
Thanks to Craig and Spyros.
Published by Christian Dupuis 3 years ago
in Journal.
Finally, after more than two years, Spring IDE adds comprehensive support Spring Web Flow. The Web Flow support is part of the today released M3 of Spring IDE 2.0. The build is available on the update site. For more information about the Web Flow support visit Web Flow Editor Usage.
<
But the Web Flow support is only one of several new additions. Here is compiled list of the new features of M3:
Web Flow support
- Added content assist and hyperlink navigation for Spring Web Flow flow definition files and
flow namespace in Spring 2.0 namespace-enabled bean configuration files #95 in Web Flow XML Editor (this was a two years old ticket, yeah!)
- Graphical Editor for creating and editing Spring Web Flow configuration files #174, #253

Spring Beans support
- Extended Beans Core Model to support Spring collection types #486
- Now inner beans and collection types are shown in Beans Explorer and Project Explorer
- Added support for problem marker decoration on every model element #496
- Added extension points to contribute extensions for custom Spring namespaces #474
Spring Beans search
- Integrated into JDT’s class reference search (
Shift+Ctrl+G) #495
Spring AOP support
Refactoring support
- Spring IDE install refactoring participants for Java class rename and move, package rename and property rename refactorings #481
- Beans XML Editor enables Java refactorings for Bean class rename and move and property rename; select a
bean or property element and hit the common key bindings Crtl+Alt+R and Crtl+Alt+V #482
- Support for refactoring Bean ids #232

Published by Christian Dupuis 3 years, 1 month ago
in Journal and Noteworthy.
In a previous post I gave our users some first details about what Spring IDE’s AOP support is going to offer.
Without further requirements Spring IDE will provide the following:
- Parsing of AspectJ Pointcut Expressions in Spring configurations. Giving you error markers if the pointcut expression is syntactically incorrect. The same is true to @AspectJ-style pointcut expressions.
- Visual markers for advised beans and advising beans and their corresponding Java classes and methods. That works for Spring AOP configuration using the
<aop:config /> and <aop:advisor /> elements and for @AspectJ-style aspects and <aop:aspectj-autoproxy>.
- To actual see what bean advises what other bean, we provide our own Beans Cross References View. This view visualizes your Spring AOP configuration and will allow the navigation between participating Spring Beans and Java classes. Furthermore the view will refresh automatically if you select another element either in the Java Editor or the Beans XML Editor and present the Beans Cross References for the selected scope.
If you have the AspectJ Development Tools installed you can get even more:
- Reference contributions to AJDT’s Cross Reference View. Make sure that you enable Spring IDE’s provider in the view’s preferences.
- Custom provider for AJDT’s Visualiser to see how and where your aspect and adivsors apply across your entire project.
A note about classpath settings
To allow Spring IDE to successful do the parsing of the AOP configuration, it is crucial that the project’s class path contains all required dependencies. The Spring IDE AOP parser will take your project’s classpath to load all classes from; Spring IDE will not instantiate the classes as we only need the Class. So make sure that the class path settings will allow loading an ApplicationContext from the configuration file. E.g. just execute a small JUnit to verify this; successful compilation isn’t enough as we need to load the classes including all their dependencies.
Showcasing the features
Most of you might know the JPetStore sample application and especially the implementation shipped with the Spring Framework. I’ll take this project to demonstrate the AOP support features.
First let’s start of having a look at the Spring configuration file that takes the definition of application’s business layer. Including transaction boundaries and attributes as well as some AOP demo stuff for sending emails.
If you open up the file in Eclipse you should see Spring IDE AOP markers. For the sake of consistency the icons were taken from the AJDT project. Furthermore the Beans Cross References View will display the cross references of the selected element in the xml editor. Refer to the following screen shot to get a gist how that looks.

Certainly you can use the Beans Cross References View to navigate to the Java class or method that either represents the adivce or that is actually advised. For example navigate to the PetStoreImpl.insertOrder method and you’ll see that this method is around-advised by the tx:advice and the emailAdvice. Furthermore you should find the cross references in AJDT’s cross reference view-if you have the AJDT plugins .

Last but not least you can bring up AJDT’s Visualiser and enable the Spring AOP Provider in the Visualiser’s preferences. This view can give you real quick overview of what advice is executed where in your project. Sticking with the example, only the PetStoreImpl class is advised as you can see in following screen shot.

Recent Activity
David Newcomb, David Newcomb, Novice, , Shaun, PrakSub, Christian Dupuis, painfulupdate, Scott, Christian Dupuis [...]
Sweepstakes, Ashley Wong, Alessandro, Reza Payami, Christian Dupuis, Senthil, Chris B, Christian Dupuis, Senthil, Christian Dupuis [...]
Paa, Daniel, electronic cigarette, suzan, Millen Store, Ralf Ebert, tek, Axel Mendoza Pupo, Christian Dupuis, Ryan Ovrevik [...]
thygu, Ralf Ebert, Haya, Tony, James, Radek, Radek, jack, nicholas, cj [...]
abc, bruno, Pat, John, joshmerry, IGC, guddu, antonio, Narada, Rakesh [...]
, Barry Smittins