spring mvc, jdbc, transaction management, IoC, unit and integration testing