Added dependency injection, configured bean management using Spring instead static classes, added transaction manager