Spring is a lightweight Java/J2EE application framework based on code published in "Expert One-on-One J2EE Design and Development" by Rod Johnson. It includes powerful JavaBeans-based configuration
... [More] management applying Inversion-of-Control principles, a generic abstraction layer for transaction management allowing for pluggable transaction managers, a JDBC abstraction layer, integration with Hibernate, JDO, Apache OJB, and iBATIS SQL Maps, AOP functionality, and a flexible MVC Web application framework with multiple view technologies. There is also a .NET port available. [Less]
Spring-Annotation is a library that enables the use or annotations to configure your application using spring-framework as a backend.
In the next versions it will enable the use of standard Java EE
... [More] annotations as an alternative way to configure your application, but without a need for a full Java EE 5 application server. [Less]
Tudu Lists is an on-line application for managing todo lists. With Tudu Lists, todo lists can be easily accessed, edited and shared on the Web. It is a simple but effective project management tool.
GWToolboxWelcome to the GWToolbox project. The GWToolbox project provides a collection of modules to help developers create robust web 2.0 / Ajax applications using the Google Web Toolkit (GWT).
... [More]
Current modulesCurrently the following modules are provided:
gwtoolbox-commons: A library with common utility classes which are used by other modules and can also be used by other GWT applications. This collection of utilities is largely based on common Java Open Source projects (e.g. Spring, apache commons, etc..) gwtoolbox-bean: A library that brings the power of Java bean programming to GWT applications. Constructs like PropertyDescriptor, BeanInfo, and PropertyChangeListeners can now be used and applied transparently on a simple GWT Java bean. This module also comes with bean binding and validation support.
gwtoolbox-ioc: This module bring IoC to GWT applications. Heavily based on Spring, users can now define all object/widgets/components of their GWT application within Spring application context and wire them declaratively. This is now yet another Spring-like ioc container, but rather a container that can read actual Spring configuration files. This brings along many of the power tools Spring comes with: AspectJ-like AOP support, bean life-cycle management (including lazy/eager initialization), scopes (singleton/prototype), and even Spring namespaces. Users can now create proprietary namespaces for their GWT components.
Modules in developmentThe following modules are currently in development:
gwtoolbox-widget: A set of generic model based widget classes with concrete implementations of bean backed models. These widgets/models highly depend on the gwtoolbox-bean module. Getting startedTake a look at our Getting Started Guide to get started using GWToolbox to build better GWT applications.
Quick StartTo quickly create a GWToolbox based project, you can use the following link. This will redirect you to a form which will help you create an initial maven2 project using a dedicated maven archetype:
http://gwtoolboxarchetype.appspot.com [Less]
This is the example code used in my various presentations on improving application design by using dependency injection, aspect-oriented programming and object-oriented design.
It contains multiple
... [More] versions of the same sample application - a really simple "banking" application - that is incrementally transformed from tangled mess of procedural code to a nice object-oriented POJO design that leverages aspects and dependency injection.
There are three sets of maven projects.
The first group contains the example code for my rich domain model presentation. This code illustrates compares and contrasts a procedural design with one that uses a rich domain model. There are two projects:
procedural-banking - the procedural version domain-model-banking - the domain model version Both projects uses Spring and Hibernate. There are a couple of different versions of this presentation. The Spring One version from June 2007 is available as both slides and a video. The Spring Experience version from December 2007 has the slides and an audio recording.
The second set of maven projects contain the code for my presentation on simplifying code with dependency injection, aspect-oriented programming (Spring AOP) and Hibernate. There are the following projects:
v0-non-pojo-banking - uses programmatic transaction management/security/etc and singletons and statics for inter-component references v1-non-pojo-banking-with-di - uses dependency injection for inter-component references v2-non-pojo-banking-with-di-aop - uses Spring AOP to handle transactions/security/etc v3-non-pojo-banking-with-di-aop-spring-txn - uses Spring's builtin transaction management aspect v4-non-pojo-banking-with-di-aop-spring-txn-jdbc - uses JDBC v5-non-pojo-banking-with-di-aop-spring-txn-hibernate - use Hibernates
These projects progressively illustrate how using dependency injection, AOP and Hibernate simplify the code. You can find the slides for February 2008 version of the presentation here. An earlier version of this presentation was also given at the Colorado Software Summit 2007.
Finally, there is also the spring-mvc-jpa-banking project. This version uses Spring 2.5 @MVC and JPA. [Less]
This project contains several open source extensions, examples and feasibility studies.
Central technologies: JavaServer Faces, JPA, Groovy, JavaScript,...