`
sunxboy
  • 浏览: 2877477 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

xml configuration of integration test with spring data mongo

 
阅读更多

1. junit test like below

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"/spring/test-mongo-setup.xml"})
public class AlarmLogDataHandlerTest extends AbstractDbDataTest {

    @Autowired
    private AlarmRepository alarmRepository;
    @Autowired
    private AlarmDetailsRepository alarmDetailsRepository;
    private AlarmErrorDataHandler handler;
    private String inverterId = "inverter1";

    @Before
    public void init() {
        setCurrentMillisSystem();
        handler = new AlarmErrorDataHandler();
        ReflectionTestUtils.setField(handler, "alarmRepository", alarmRepository);
    }

    @After
    public void cleanData() {
        setCurrentMillisSystem();
        alarmRepository.deleteAll();
        alarmDetailsRepository.deleteAll();
    }

    @Test
    public void whenAlarmIsNewThenSaveAlarmLogsAndAlarmDetails() {
        // given
        String errorType = ErrorCode.L1.getErrorType();
        int errorCodeL1_value1 = 2;
        AlarmLogs logs = buildFullAlarmLogs(errorType, errorCodeL1_value1);

        // when
        handler.saveAlarmLogs(logs);

        // then
        Iterable<AlarmLogs> logsList = alarmRepository.findAll();
        assertThat(logsList.iterator().hasNext(), equalTo(true));
        AlarmLogs dbLogs = logsList.iterator().next();
        assertThat(dbLogs.getVersion(), equalTo(0L));
        assertThat(dbLogs.getErrorType(), equalTo(errorType));
        assertThat(dbLogs.getErrorValue(), equalTo(errorCodeL1_value1));
        assertThat(dbLogs.getAlarmDetails(), notNullValue());

        Iterable<AlarmDetails> alarmDetails = alarmDetailsRepository.findAll();
        assertThat(Lists.newArrayList(alarmDetails), hasSize(1));
    }
}

 

2 xml configuration

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
    xmlns:mongo="http://www.springframework.org/schema/data/mongo"
    xsi:schemaLocation="http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
          http://www.springframework.org/schema/data/mongo http://www.springframework.org/schema/data/mongo/spring-mongo-1.3.xsd
          http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

	<mongo:auditing/>
	<bean name="fongo" class="com.github.fakemongo.Fongo">
		<constructor-arg value="InMemoryMongo"/>
	</bean>
	<bean id="mongo" factory-bean="fongo" factory-method="getMongo"/>

	<mongo:db-factory id="mongoDbFactory" mongo-ref="mongo"/>

	<!-- localhost settings for mongo -->
	<!--<mongo:db-factory id="mongoDbFactory" /> -->

	<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
		<constructor-arg ref="mongoDbFactory"/>
	</bean>
	
	<mongo:repositories base-package="com.eifesun.monitor.web.repository" repository-impl-postfix="CustomImpl"/>
	
	<bean class="com.eifesun.monitor.web.model.mongodb.CascadingMongoEventListener" />
</beans>

 

 

notice that: we use "com.github.fakemongo.Fongo", and "InMemoryMongo" for test.

 

分享到:
评论

相关推荐

    Spring Data MongoDB API(Spring Data MongoDB 开发文档).CHM

    Spring Data MongoDB API。 Spring Data MongoDB 开发文档。

    基于spring data mongo封装的API,让开发人员不用知道mongo

    通过定义接口并继承Spring Data提供的MongoRepository或SimpleMongoRepository,开发人员可以自动获得基本的查询方法。例如,我们可以创建一个UserRepository接口,包含如下的方法: ```java public interface ...

    Spring Data MongoDB中文文档

    - **MongoTemplate** 是 **Spring Data MongoDB** 提供的一个核心类,用于执行 MongoDB 的 CRUD 操作。 - 它提供了很多方便的方法来执行数据库操作,例如:`insert()`, `save()`, `findOne()`, `remove()`, `find()`...

    spring-mongo-data

    标题“spring-mongo-data”指的是Spring Data MongoDB项目,这是一个Java框架,用于简化与MongoDB数据库的交互。Spring Data是Spring框架的一部分,它提供了一种声明式的方法来处理各种数据存储,包括关系型数据库和...

    spring-data-mongo配置成功

    《Spring Data MongoDB 配置详解》 在Java开发中,Spring框架因其强大的功能和灵活性而备受推崇,而在处理NoSQL数据库如MongoDB时,Spring Data MongoDB提供了便捷的接口和抽象,使得开发者能更加专注于业务逻辑,...

    spring_mongo项目示例

    总的来说,`spring_mongo`项目示例展示了如何利用Spring Data MongoDB将MongoDB数据库集成到Spring Boot应用中,实现高效的数据操作。这个示例涵盖了从配置数据库到创建RESTful API的完整流程,是学习和实践Spring与...

    spring集成mongo所需jar

    综上所述,"spring集成mongo所需jar"涉及的关键知识点包括Spring Data MongoDB框架、MongoDB Java驱动、项目构建工具(如Maven或Gradle)的依赖管理以及MongoDB的集成配置和操作。通过正确引入这些jar文件并按照上述...

    spring-data使用mongodbTemplate对MongoDB进行读写操作

    &lt;bean id="mongo" class="org.springframework.data.mongodb.core.MongoFactoryBean"&gt; ``` 一旦有了`MongoDBTemplate`,你就可以开始执行各种数据库操作了。比如,你可以使用`save()`方法保存一个对象到...

    Spring-data-mongo应用

    ### Spring-data-mongo应用知识点详解 #### 一、Spring Data MongoDB 概述 Spring Data MongoDB 是 Spring Data 项目的一部分,它提供了一套统一的数据访问抽象层,使得开发人员能够更加容易地进行数据库操作,而...

    jastar-wang-demo-springdata-mongo-master.zip

    《Spring Data MongoDB实战:jastar-wang-demo-springdata-mongo深度解析》 在现代软件开发中,数据存储和管理扮演着至关重要的角色。随着NoSQL数据库的崛起,MongoDB以其灵活性、高性能和易扩展性赢得了广大开发者...

    springdata mongodb api文档

    SpringData MongoDB是SpringData项目中支持MongoDB这一NoSQL文档数据库的部分。SpringData项目旨在简化对各种数据源的访问,而MongoDB作为一种流行的文档型数据库,非常适合处理大量的分布式数据。SpringData ...

    Spring-Data-MongoDB3.2

    Spring Data MongoDB提供了与MongoDB数据库交互的一系列抽象,包括MongoTemplate和Repository接口。通过这些接口,开发人员无需直接编写MongoDB的Java驱动程序代码,就能实现CRUD(创建、读取、更新和删除)操作,...

    spring-data集成mongodb大数据量分页+自增id实现+MongodbPlugin集成

    skip随着数据量上去,分页性能极具下降,不推荐。这里使用spring-data-mongo实现的分页,并且实现了mongodb自增id(监听器方式)、也集成了轻量级插件MongodbPlugin,有需要的可以下载看看哦~

    spring-data-mongo-1.0.0.M5.zip

    spring-data-mongo-1.0.0.M5.zip 11年10月25号出来的 要配合spring-data-commons-1.2.0.M2.zip使用 不然底层会报错 spring-data-commons-1.2.0.M2.zip我已经传上去了~

    最新spring-data-mongo

    Spring Data Commons是一个核心模块,提供了与各种数据存储交互的一般机制,而`spring-data-mongo`则是专门针对MongoDB的数据访问层。这个组合使得Java开发者能够以一种声明式的方式处理MongoDB的数据操作,减少了...

    尚硅谷SpringData视频观看下载链接

    SpringData是Spring框架的一个重要模块,它为Java开发者提供了丰富的数据访问抽象,简化了与各种数据存储系统的交互。本资源“尚硅谷SpringData视频”旨在帮助学习者深入理解和掌握SpringData的相关知识,通过视频...

    springMongodb参考文档中文版

    - **MongoTemplate**:作为Spring Data MongoDB的核心类,提供了丰富的操作MongoDB的方法。 - **文档操作**:涵盖了保存、更新、删除文档等操作。 - **查询文档**:包括查询集合中的文档、地理空间查询、全文查询等...

    SpringData入门到精通

    SpringData是Spring框架的一个重要模块,它为Java开发者提供了与数据存储进行交互的简便方法,涵盖了关系型数据库、NoSQL数据库、搜索引擎等多种数据访问技术。本教程“SpringData入门到精通”将引领你逐步深入...

    spring4+mongo3整合

    这工程项目为SpringMVC+spring4+hibernate3+mongo整合项目 不过注意的是: 使用mongo时,要确定下你的mongo服务版本。如果服务端是3.X的版本,你用2的客户端是用户密码是验证不通过的。所以需要选择对应的客户端。 ...

    spring-data-mongo-reference.pdf

    无论是基于 Java 配置还是 XML 配置,Spring Data MongoDB 都提供了灵活的实例注册方式,开发者可以根据项目需求选择最适合的方案。 #### MongoDB 模板 MongoTemplate 是 Spring Data MongoDB 中的核心类,用于...

Global site tag (gtag.js) - Google Analytics