As i understand you want to test your application without using xml configuration. Like you tutorial, the configuration of your application context in java class or in xml file is the same finaly.
Personaly for my tests i use Junit and call my xml configuration like this:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:META-INF/spring/applicationContext-mongo.xml"})
public class LicenseImplTest extends AbstractJUnit4SpringContextTests {
// Inject all repositories:
@Autowired
private IMyRepository myRepository;
}
for example, in my applicationContext-mongo.xml i have that:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mongo="http://www.springframework.org/schema/data/mongo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/data/mongo http://www.springframework.org/schema/data/mongo/spring-mongo-1.0.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd">
<bean id="applicationProperties" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="classpath:META-INF/spring/database.properties"></property>
</bean>
<mongo:db-factory dbname="${mongo.database}" host="${mongo.host}" id="mongoDbFactory" port="${mongo.port}" write-concern="SAFE" />
<mongo:repositories base-package="fullpackage.repositories" />
<!-- To translate any MongoExceptions thrown in @Repository annotated classes -->
<context:annotation-config />
<bean class="org.springframework.data.mongodb.core.MongoTemplate" id="mongoTemplate">
<constructor-arg ref="mongoDbFactory" />
</bean>
</beans>
The:
<mongo:repositories base-package="fullpackage.repositories" />
allows spring to automatically instantiate your repository when the annotation @Autowired is found.
More simple, more properly. Personaly, i prefer this method.