"TheSpring Frameworkis anopen sourceapplication frameworkandinversion of controlcontainer for theJava platform. The framework's core features can be used by any Java application, but there are extensions for building web applications on top of theJava EEplatform. Although the framework does not impose any specificprogramming model, it has become popular in the Java community as an alternative to, replacement for, or even addition to theEnterprise JavaBean(EJB) model." from en.wikipedia.org
Hibernate's primary feature is mapping from Java classes todatabase tables(and from Java data types toSQLdata types). Hibernate also provides data query and retrieval facilities. It generates SQL calls and relieves the developer from manual result set handling and object conversion. Applications using Hibernate are portable to supported SQL databases with little performance overhead" from en.wikipedia.org
JUnit is linked as aJARat compile-time; the framework resides under packagejunit.frameworkfor JUnit 3.8 and earlier, and under packageorg.junitfor JUnit 4 and later." from en.wikipedia.org
TestNG
TestNGis a testingframeworkfor theJava programming languageinspired fromJUnitandNUnit. The design goal of TestNG is to cover a wider range of test categories: unit, functional, end-to-end, integration, etc., with more powerful and easy-to-use functionalities." from en.wikipedia.org