springboot测试环境中为什么会将mongodb的数据自动存储到test表中
2017-04-17 16:17
771 查看
今天学习进入到mongodb使用springdata支持进行简单的增删改查部分,在使用springboot进行测试的时候,有一个很神奇的问题,在程序中存入数据,但在mongodb中我指定的数据库中却找不到数据,在mongodb指定的数据库中存入数据,在程序中也查不到。但很神奇的是,在程序中能够正常存取,还不会报错。感觉简直郁闷到吐血的程度。代码如下:
springboot中的配置文件:
创建一个简单的实体:
创建一个springdata的处理接口:
创建一个service:
根据这个service编写简单的测试类:
执行,神奇的事情就发生了。
然后到数据库中查询:
查了很多资料,纠结了很久,数据竟然神奇的消失了。但我找呀找,终于在test数据库中找到了我在程序中加入的数据。
所以针对这个springboot测试中数据会自己添加到test库中的原理是什么就不太清楚了?会进一步研究,但希望对这个有研究的能够给出答案,在此多谢各位了。
springboot中的配置文件:
spring.data.mongodb.host=127.0.0.1 spring.data.mongo.repositories.enabled=true spring.data.mongodb.port=27017 spring.data.mongodb.uri=mongodb\://127.0.0.1\:27017/permission #指定的数据库:permission
创建一个简单的实体:
package com.permission.bean.companyInfo; import org.springframework.data.annotation.Id; import org.springframework.data.mongodb.core.mapping.Document; /** * Created by niuniu on 2017/4/17. * 公司表 */ @Document//mongodb数据模型的标识 public class Company { @Id private String id; //公司ID private String name; //名称 private String user; //创建人 private String createTime; //创建时间 private String address; //公司地址 public Company() { } public Company(String id, String name, String user, String createTime, String address) { this.id = id; this.name = name; this.user = user; this.createTime = createTime; this.address = address; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getUser() { return user; } public void setUser(String user) { this.user = user; } public String getCreateTime() { return createTime; } public void setCreateTime(String createTime) { this.createTime = createTime; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } @Override public String toStrin b369 g() { return "Company{" + "id='" + id + '\'' + ", name='" + name + '\'' + ", user='" + user + '\'' + ", createTime='" + createTime + '\'' + ", address='" + address + '\'' + '}'; } }
创建一个springdata的处理接口:
package com.permission.repository; import com.permission.bean.companyInfo.Company; import org.springframework.data.mongodb.repository.MongoRepository; import org.springframework.stereotype.Repository; /** * Created by niuniu on 2017/4/17. */ @Repository public interface CompanyRepository extends MongoRepository<Company,String>{ }
创建一个service:
package com.permission.service; import com.permission.bean.companyInfo.Company; import com.permission.repository.CompanyRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; /** * Created by niuniu on 2017/4/17. */ @Service public class CompanyService { @Autowired private CompanyRepository companyRepository; public Company createCompany(Company company){ return companyRepository.save(company); } public Company findCompany(String id){ Company c = companyRepository.findOne(id); return c; } public Company updateCompany(Company company){ Company c = companyRepository.findOne(company.getId()); c.setUser(company.getUser()); return companyRepository.save(c); } }
根据这个service编写简单的测试类:
package com.permission.service; import com.permission.MypermissionApplication; import com.permission.bean.companyInfo.Company; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import static org.junit.Assert.*; /** * Created by niuniu on 2017/4/17. */ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(classes = MypermissionApplication.class) public class CompanyServiceTest { @Autowired private CompanyService companyService; @Test public void createCompany(){ Company company = new Company("162","niuiufei","整天准备干啥","1323","gansha000"); Company company1 = companyService.createCompany(company); System.out.println(company1.toString()); } }
执行,神奇的事情就发生了。
然后到数据库中查询:
查了很多资料,纠结了很久,数据竟然神奇的消失了。但我找呀找,终于在test数据库中找到了我在程序中加入的数据。
所以针对这个springboot测试中数据会自己添加到test库中的原理是什么就不太清楚了?会进一步研究,但希望对这个有研究的能够给出答案,在此多谢各位了。
相关文章推荐
- 使用vs2010的Coded UI Test实现数据驱动的用户自动登录测试
- 使用Spring的Property文件存储测试数据 - 初始化
- springboot Test 自动配置注解详单
- 通过 spring 容器内建的 profile 功能实现开发环境、测试环境、生产环境配置自动切换
- 通过 spring 容器内建的 profile 功能实现开发环境、测试环境、生产环境配置自动切换
- 使用vs2010的Coded UI Test实现数据驱动的用户自动登录测试
- 4 Springboot中使用redis存储集合数据,并模拟条件查询、分页读取
- 通过 spring 容器内建的 profile 功能实现开发环境、测试环境、生产环境配置自动切换
- Spring boot 项目 maven的profile多环境配置 不自动替换变量的问题解决
- 通过 spring 容器内建的 profile 功能实现开发环境、测试环境、生产环境配置自动切换
- 使用vs2010的Coded UI Test实现数据驱动的用户自动登录测试
- 通过 spring 容器内建的 profile 功能实现开发环境、测试环境、生产环境配置自动切换
- Spring boot @Test的时候需要设置 环境变量:spring.profiles.active = dev
- 为什么MongoDB适合大数据的存储?
- spring-boot的日志管理(logback)之生产测试环境的切换
- 通过 spring 容器内建的 profile 功能实现开发环境、测试环境、生产环境配置自动切换
- 通过 spring 容器内建的 profile 功能实现开发环境、测试环境、生产环境配置自动切换
- SpringBoot(六)开发环境/测试环境和生产环境
- 通过 spring 容器内建的 profile 功能实现开发环境、测试环境、生产环境配置自动切换
- 通过 spring 容器内建的 profile 功能实现开发环境、测试环境、生产环境配置自动切换