Tag Archive for 'javaconfig'

First Release Candidate Available

We have just released the first release candidate of Spring IDE 2.0.

We are proud to announce that the first release candidate of Spring IDE 2.0 has been released. Read the announcement in the Spring Framework support forum.

The release candidate is available immediately from our developer update site at http://springide.org/updatesite_dev. Please take some time for testing and provide feedback on any errors, bugs or problems you might find. Many thanks to all that already provided feedback and bug reports. The feedback is really valuable for us.

Spring IDE 2.0 contains lots of new features and a bunch of bug fixes. A list of all closed tickets is available in our ticketing system; currently 222 tickets have been closed. For those of you that are not familiar with recent development of Spring IDE here is a compiled list of features included in RC1:

  • Support for Spring 2.0 namespace-based configurations. We have put lots of work into that to make the support as extensible as possible. You can read more about that in another post.
  • Support for Spring Web Flow, including an extension to WTP’s XML editor for content assist and hyperlinking as well as validation and graphical editing. More information is available here.
  • Tools for Spring AOP based development. This includes support for validating configurations (parsing of pointcut expressions) and visualization of cross cutting references based on <aop:config> and @AspectJ-style aspects.
  • Support for Spring JavaConfig M2. This serves as sandbox for testing the extension points of Spring IDE’s core. Read more about that here and here.
  • Usability and UI improvements: A new Spring Explorer that replaces the Beans View, Content contribution to the Eclipse’s Project Explorer, a Spring Working Set type to reduce cluttering in the Project and Spring Explorer, Refactoring participants for rename and move refactorings of Java Packages and Classes as well as Bean names, New Project and Spring Bean configuration file wizard.

Besides these features, 2.0 RC1 ships preliminary support for Eclipse Mylyn (aka Mylar) that should work with latest Mylar 2.0 developement build. We are planning to adopt to the API changes due to the Mylar project renaming as soon as a new development build is available; presumingly within the RC2 timeframe.

The next (and hopefully last) release candidate is planned for next week and the final version of Spring IDE 2.0 should be available around SpringOne 2007.

Watch out for more; there is still lots to come…

Support for Spring JavaConfig

In case you have missed it: recent post-M4 nightly builds of Spring IDE contain basic support for Spring JavaConfig.

Just add the ConfigurationPostProcessor and a bean that is annotated with @Configuration to your bean definition XML file. Spring IDE will parse the configuration class and create bean definitions for every bean creation method - method annotated with @Bean - found in the class hierachy.

At the moment the support does not create bean dependencies by parsing the code of the bean creation method like it was implemented in an earlier prototype - is this feature actually desirable. Furthermore the @SpringAdvisor and @SpringAdvice annotations are not recognized by Spring IDE. Both features will be added later.

Note the little @ overlay image on the beans in the Spring Explorer and Beans Cross References View in the following screenshot. This overlay indicates a bean created by the ConfigurationPostProcessor.

spring-javaconfig-1.png

Spring IDE 2.0 M4 released

We are proud to announce that the fourth milestone of Spring IDE 2.0 has been released. Read the announcement in the Spring Framework support forum.

The milestone is available immediately from our developer update site at http://springide.org/updatesite_dev. Please take some time for testing and provide feedback on any errors, bugs or problems you might find. Many thanks to all that already provided feedback and bug reports. The feedback is really valuable for us.

M4 will be the last milestone before we go RC1 around end of May and - hopefully - final close to SpringOne. The release candidate 1 will have support for Spring JavaConfig and a preliminary integration with the Mylar Eclipse plug-in.

Stay tuned …

Spring Java Configuration

I personally think that the Java configuration option for Spring is a very clever move of Rod and Co. Since reading Rod’s post and playing around with the new configuration approach, I thought it would be very nice if Spring IDE could bring the two worlds-XML and Java configuration-together and seamlessly support the user with content assist, navigation support and graphical visualization of bean definitions across both configuration styles.

Today I implemented an extension prototype for Spring IDE’s internal bean definition parsing to see if it is possible to support the annotation style. Thanks to Torsten’s core abstraction on top of Spring’s bean definitions and Eclipse’ internal Java model, I was able to parse the required meta information from a Java class which is annotated with @Configuration.

The code is not meant to be production ready, but serves as a proof-of-concept for us.

Above you can see an sample @Configuration class that defines three Spring beans: stefanie, rod, house The annotation-style beans are decorated with an @ icon in the Spring Beans view.

By leveraging Eclipse’ AST support I was able to parse the dependencies between different Spring beans from the Java code. For example the expression person.setHouse(house()); defines a dependency between the person and house bean. Even the reference to XML-configured bean-resolved by person.setHouse((House) getBean("company"));-can be extracted from the source code.

Therefore Spring IDE is able to bring up a Beans Graph for the sample that outlines the dependencies between Java and XML-configured beans.

Let me know what you think and if you want to see that support in Spring IDE 2.0. I will provide a download of the prototpye to play around with after some more testing.