views:

85

answers:

1

Hi,

I've been working on a java web project.

Currently this project doesnt use any framework. Its a standard MVC application, using servlets and DAO with jdbc access to database (all queries are handwritten).

The project has a good code (all project developed using TDD), but its way too slow to add any feature, since all have to be done by hand.

In this case, which framework would you suggest to add this project? I can't use a framework that requires me to rewrite all current code base to fit in this framework.

I think that Hibernate is a great choice for persistence.

But what else? Spring? VRaptor? Struts?

+2  A: 

You might add interfaces for your classes, use Hibernate for the persistence layer replacing your DaoSqlImplementation by DaoHibernateImplementation one per time. As long as you wire your application with interfaces you won't have any problem.

Also I recommend you to use Spring, this way you can switch between implementations declaratively by just modifying the XML. One of the principles Spring follows is IoC (Inversion of Control). In this case means your application controls the framework and not the framework controls the application which is exactly what you requested.

One important thing is that you must justify every framework you decide to add to the application and not just add it because it is very cool.

victor hugo