Welcome to SpringContracts

SpringContracts is a Java Solution for Design By Contract with seamless integration into the Spring Framework.

Main Features

  • Gives you the freedom to notate Contracts - Preconditions, Postconditions and Invariants - in a flexible way.
    (based on Annotations or by an external Notation)
  • Lets you configure the behaviour of Contract Validation via Spring's Application Context.
  • Provides a pluggable way to switch the Language in which to describe the conditions.
  • Comes with a build in support for Expression Language (Commons EL) with extensions due to first order logic
    (all quantor, exist quantor, implication)

07.01.2007 SpringContracts 0.3 is available for download.
28.12.2006 Support for BeanShell / Java as specification language available in current dev branch.
Will come with the next Release.
27.11.2006 Next Release will come with support for contract validation for constructors due to Load Time Weaving (using AspectJ-AOP - available in current dev branch)
26.11.2006 Next Release will come with support for contract validation of objects, which are created outside Spring's ApplicationContext (i.e. ad hoc instantiations of domain objects) due to Load Time Weaving
23.11.2006 Release 0.2 available. Full support for external Contracts, OGNL and Groovy
19.11.2006 First Release of SpringContracts (Release 0.11)
18.11.2006 SpringContracts is now Open Source, hosted on SourceForge.

SourceForge.net Logo