In general a framework is a set of resources, classes etc, that should enable you to focus on the task that requries solving and not the "plumbing".
How well they do this varies between frameworks and the pholisphy behind the framework.
Some frameworks are more general purpuse then others, some focus on a given task, for example websites, such as Spring MVC and Struts.
I think you probably should investigate Inversion Of Control too.
Dependancy Injection is an enablier for Inversion Of Control, where an external configuration is used to inject dependancies into a components, for example rather then ComponentX creating a DataAccessObject, it has a property of DataAccessObject.
The Inversion Of Control Container, takes a configuration that tells it construct ComponentX and a DataAccessObject, it then
tell Injections the DataAccessObject into ComponentX (usual though standard setter emthods).
Spring is probably the most famous Inversion Of Control Framework.