博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Springboot项目连接MongoDB及使用教程
阅读量:4096 次
发布时间:2019-05-25

本文共 3359 字,大约阅读时间需要 11 分钟。

一、连接MongoDB

1、修改application.properties配置文件,增加连接MongoDB的信息

spring.data.mongodb.host=10.238.3.xxspring.data.mongodb.port=20000spring.data.mongodb.database=adminspring.data.mongodb.username=usernamespring.data.mongodb.password=password

二、使用

1、创建 ModuleInfo 类

@Document(collection = "module_info")@Getter@Setter@EntityScanpublic class ModuleInfo implements java.io.Serializable {
@Id private Long id; private Date gmtCreate; private Date gmtModified; private String appName; private String environment; private String ip; private String port; private String version; private String status;}

2、创建service类,ModuleInfoService

public interface ModuleInfoService {
ModuleInfo findByAppNameAndEnv(String appName, String environment);}

3、创建service 实现类,ModuleInfoServiceImpl

@Servicepublic class ModuleInfoServiceImpl implements ModuleInfoService {
@Autowired MongoTemplate mongoTemplate; @Override public ModuleInfo findByAppNameAndEnv(String appName, String environment) {
Query query = new Query(Criteria.where("appName").is(appName).and("environment").is(environment)).limit(1); return mongoTemplate.findOne(query, ModuleInfo.class); }}

4、controller类

@RestController@RequestMapping(value = "/api/interfacecase")public class InterfaceCaseController {
@Autowired SingleCaseDebugAPI singleCaseDebugAPI; @Autowired GatewayCaseService gatewayCaseService; @Autowired WebAPICaseService webAPICaseService; @Autowired MicroServiceCaseService microServiceCaseService; @Autowired RecordService recordService; @Autowired ModuleInfoService moduleInfoService; @Autowired BaseRedisDao baseRedisDao; @RequestMapping(value = "/debugInterfaceCase", method = RequestMethod.GET) public boolean debugInterfaceCase(@RequestParam(value = "id") Integer id, @RequestParam(value = "interfaceType") String interfaceType, @RequestParam(value = "username") String username){
System.out.println("前端传递过来的用例ID:" + id + " 用例接口类型:" + interfaceType); ResMsg resMsg = new ResMsg(); JSONObject jsonObject = new JSONObject(); boolean result = true; if(interfaceType.equals("Gateway")){
GatewayCase gatewayCase = gatewayCaseService.findByPrimaryKey(id); jsonObject = JSONObject.parseObject(JSONObject.toJSONString(gatewayCase), JSONObject.class); }else if(interfaceType.equals("WebAPI")){
WebAPICase webAPICase = webAPICaseService.findByPrimaryKey(id); jsonObject = JSONObject.parseObject(JSONObject.toJSONString(webAPICase), JSONObject.class); }else {
// 微服务 MicroServiceCase microServiceCase = microServiceCaseService.findByPrimaryKey(id); String entranceDesc = "dubbo://" + microServiceCase.getClassName() + "/" + microServiceCase.getMethodName(); String appName = "umehome-manager"; //动态获取接口请求参数 Record record = recordService.findByAppNameAndEntranceDesc(appName, entranceDesc);// System.out.println("record: " + JSONObject.toJSONString(record)); //获取回放的ip ModuleInfo moduleInfo = moduleInfoService.findByAppNameAndEnv(appName, "dockerGray"); System.out.println("moduleInfo: " + JSONObject.toJSONString(moduleInfo)); } return result; } }

转载地址:http://ruxii.baihongyu.com/

你可能感兴趣的文章
编程差的程序员,90%都是吃了数学的亏!骨灰级开发:方法不对,努力也白费...
查看>>
编程差的程序员,90%都是吃了数学的亏!骨灰级开发:方法不对,努力也白费...
查看>>
都无代码了,还要程序员吗?
查看>>
程序员:凭自己能力吃饭,有什么理由瞧不起?
查看>>
面试想拿 10K,HR 说我只配7k?
查看>>
副业过万的程序员都知道的网站有哪些
查看>>
那些人生“开挂”的程序员,都在干什么?
查看>>
影响科学圈的那些计算机代码
查看>>
乐视视频 App 图标改为“欠 122 亿”,网友:我在别家分红包,却在你家随份子!...
查看>>
乔布斯18岁求职信拍卖价22.24万美元,值吗?
查看>>
为何程序员总喜欢写技术博客,看完恍然大悟...
查看>>
假如计算机是中国人发明的,那代码应该这么写
查看>>
科技公司最爱的 50 款开源工具,你都用过吗?
查看>>
触目惊心:比特币到底消耗了多少能源?
查看>>
面试官:简历上敢写技术精通?那我就不客气了!
查看>>
如何判断一家互联网公司要倒闭了?
查看>>
想快速上手机器学习?来看下这个 GitHub 项目!
查看>>
GitHub 标星 3.6k,一本开源的深度学习中文教程!
查看>>
9 款你不能错过的 JSON 工具
查看>>
就在昨天,全球 42 亿 IPv4 地址宣告耗尽!
查看>>