Answer
A software framework is a reusable software platform that provide some commonly needed functionality out-of-the-box, so that the developers can use them or extend it. Frameworks may contain commonly used code or implement design principles or data structures etc., which is then compiled, and package into possibly a jar file, which you can then import to use it or further extend it.
Spring, Hibernate Struts etc. are examples of such frameworks. While Spring was primarily intented for Dependency Injection, Hibernate is an ORM framework. Without hibernate you have to write JDBC code to insert your object's details into a database. Hibernate writes all those JDBC code for you. You can simply ask hibernate to save your object and hibernate can do everything including creating tables and fields based on your classes and its fields.
A framework may not always be supplied as a jar, but may be also part of another software or tool, as in the case of Java collections framework, which is part of core Java.