I am new to Spring, I have use Spring last month for a small JDBC project to test its features and Spring helped me well when retreiving JDBC connection (JDBCTemplate), etc. It seems to be well done, even if sometime I can be afraid to let the Spring Black Box manage all jdbc issues.
My next project will have to use Hibernate (3.0) in a greater scale (50 tables, 2 DB. for 8 webApps). I am open to use Spring if the project can be improved: faster coding, better unit testing, encapsulating Hibernate Implemetation and session management, giving a single Facade for all 8 WebApps, better maintenance. Spring seems great, but I know I could do this project without Spring without any pitfall.
Because my choice is not made yet, I would like to have some developpers feedback about pro/con using Spring for the software entire lifecycle (design, developement, testing, debugging, maintenance). Knowing the cons right now are more important for me than knowing the pros, since it could help me to avoid some pitfall if I choose this option.
Per example, I am not convince yet that Injection of Control (IoC) could be a good practice for everything (yes, I will read the article on ServerSide about this topic soon). I would like to know what is the impact of IoC when simply debugging the code. How can you debug a code when most of the links between objects are made in a xml file? Is there a "best practice" when using IoC?