By default, you should already have two contexts. The context named after your servlet ( [servlet-name]-context.xml )is a WebApplicationContext and is a child context of the main ApplicationContext, which is created from the files listed in the contextConfigLocation and loaded by the ContextLoaderListener. The child can access any beans defined in the parent, but the parent has no access to beans defined in the child, so keep that in mind before you start moving beans around.
I keep only web-specific configuration in the WebApplicationContext - my controllers and views and such. Anything that isn't specific to the web goes into the main ApplicationContext, which is itself always a single file which just imports a number of other application context xml files, broken down by layer, as suggested by others.
<import resource="classpath:dao-context.xml" />
<import resource="classpath:service-context.xml" />
<import resource="security-context.xml" />
Note, spring only allows a single property-placeholder element in each application context, but you can have one in each child app context as well, so my [servlet-name]-context.xml file always has a property-placeholder with web-specific config properties and the main application context has a different one, which I usually define right in the top level file, before all of the imports.