Set command class in controller constructor, since it's tightly coupled to code, not configurable.
Use assertEquals in repository test, making it pass.
Added spring-test jar to pom.
No logfile appender in test-logging.
Fixed Cargo.currentLocation when still at origin location.
Moved CargoRepository to repository package, for consistency and to postpone further discussion.
HibernateTemplate replaced by pure Hibernate in repository layer.
Introduced Spring-injected and transaction-managed test classes.
Introduced transaction annotation in service layer.
Place classpath-root files under resources/ directory, which is the prefered location.
Split context files per layer, allowing easy testing of a subset of the layers.
Split Jdbc and Hibernate configuration in separate test and production files, where that makes sense, and keep common properties in a single location (context file). Properties files are pulled into the context by Spring.
Split out a javax.sql.DataSource bean, which is handy for a number of reasons.
Hibernate configuration prepared, but no classes are mapped. Test config is in-memory and verbose, production is file-based and quieter.
Transaction is annotation-driven in the service layer.
Jetty Maven plugin added, and added context loading listener to web.xml. It's now possible to run "mvn jetty:run" and find the tracking page on localhost:8080/dddsample.
Added dev.java.net maven repository with JTA artifact available.
Created new repository package. Added two new repository implementations, one for InMem (static, compile time setup) and a code skeleton for a Hibernate version