/*
* 	Copyright 2012 Robert Burrell Donkin robertburrelldonkin.name
* 
*   Licensed under the Apache License, Version 2.0 (the "License");
*   you may not use this file except in compliance with the License.
*   You may obtain a copy of the License at
*
*       http://www.apache.org/licenses/LICENSE-2.0
*
*   Unless required by applicable law or agreed to in writing, software
*   distributed under the License is distributed on an "AS IS" BASIS,
*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*   See the License for the specific language governing permissions and
*   limitations under the License.
*/
package name.robertburrelldonkin.template4couchdb;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class App 
{
    public static void main( String[] args )
    {
    	ApplicationContext context = load();
    	@SuppressWarnings("unchecked")
		CouchDBTemplate<String> template = context.getBean(CouchDBTemplate.class);
    	System.out.println(template.version(new StringDocumentMapper()));
    }
    
    public static  ApplicationContext load() {
    	return new ClassPathXmlApplicationContext("couchdb-context.xml");
    }
}

/*
* 	Copyright 2012 Robert Burrell Donkin robertburrelldonkin.name
* 
*   Licensed under the Apache License, Version 2.0 (the "License");
*   you may not use this file except in compliance with the License.
*   You may obtain a copy of the License at
*
*       http://www.apache.org/licenses/LICENSE-2.0
*
*   Unless required by applicable law or agreed to in writing, software
*   distributed under the License is distributed on an "AS IS" BASIS,
*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*   See the License for the specific language governing permissions and
*   limitations under the License.
*/
package name.robertburrelldonkin.template4couchdb;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class App 
{
    public static void main( String[] args )
    {
    	ApplicationContext context = load();
    	CouchDBTemplate template = context.getBean(CouchDBTemplate.class);
    	System.out.println(template.version(new StringDocumentMapper()));
    }
    
    public static  ApplicationContext load() {
    	return new ClassPathXmlApplicationContext("couchdb-context.xml");
    }
}

--- 
+++ 
@@ -23,7 +23,8 @@
     public static void main( String[] args )
     {
     	ApplicationContext context = load();
-    	CouchDBTemplate template = context.getBean(CouchDBTemplate.class);
+    	@SuppressWarnings("unchecked")
+		CouchDBTemplate<String> template = context.getBean(CouchDBTemplate.class);
     	System.out.println(template.version(new StringDocumentMapper()));
     }
     
Improve wiring in sample app
