码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【java_wxid项目】【第十一章】【MongoDB集成】


    主项目链接:https://gitee.com/java_wxid/java_wxid
    项目架构及博文总结:

    • 点击:【使用Spring Boot快速构建应用】
    • 点击:【使用Spring Cloud Open Feign基于动态代理动态构造请求实现与其他系统进行交互】
    • 点击:【使用Spring Cloud Hystrix实现服务容错、熔断、降级、监控】
    • 点击:【使用Spring Cloud Ribbon以库的方式集成到服务的消费方实现客户端负载均衡】
    • 点击:【使用Spring Cloud Gateway作为API网关服务进行请求拦截、服务分发、降级、限流】
    • 点击:【使用Spring Cloud Security Oauth2作为微服务统一认证中心实现用户认证和授权访问】
    • 点击:【使用Spring Cloud Stream作为消息驱动用于动态的切换中间件】
    • 点击:【使用Spring Cloud Skywalking基于字节码注入通过探针方式进行链路追踪、分布式追踪、性能指标分析、应用和服务依赖分析】
    • 点击:【使用Spring Cloud Alibaba Nacos实现服务注册/发现/续约/剔除/下线、心跳检测、服务配置管理、基于长轮训机制实现配置动态变更】
    • 点击:【使用Spring Cloud Alibaba Seata作为对项目代码无入侵的分布式事务解决方案】
    • 点击:【使用Spring Cloud Alibaba Sentinel实现高可用流量防护】
    • 点击:【使用Apache ShardingSphere作为关系型数据库中间件实现分库分表、读写分离】
    • 点击:【使用Apache Mybatis作为持久层框架用于定制化SQL、存储过程以及高级映射】
    • 点击:【使用Redis作为高性能分布式缓存数据库】
    • 点击:【使用ElasticSearch全文搜索】
    • 点击:【使用MongoDB非关系型数据库】
    • 点击:【使用xxl-job作为分布式任务调度平台】
    • 点击:【使用Elasticsearch + Logstash + Kibana作为日志收集系统】
    • 点击:【使用Apifox作为API文档、API调试、API Mock、API自动化测试】
    • 点击:【使用Apache Spark作为基于内存计算的大数据分析引擎用于批处理、交互式查询】
    • 点击:【使用ETL工具将数据源抽取到HDFS作为高可靠、高吞吐量的分布式文件系统存储,通过Hive清洗、处理和计算原始数据,Hive清洗处理后的结果,将存入Hbase,海量数据随机查询场景从HBase查询数据】
    • 点击:【使用领域驱动DDD设计和设计模式进行开发】
    • 点击:【使用Netty基于Java NIO封装的高性能的网络通信框架】
    • 点击:【使用k8s、docker、docker-compose、宝塔面板进行环境搭建和部署】
    • 点击:【使用Vue渐进式JavaScript框架作为适用场景丰富的Web前端框架】
    • 点击:【分享人才筛选、工作分配、高效办公、项目推动等团队管理经验】

    项目模块:
    前期规划,实现部分

    java_wxid   
    ├── demo                                                            // 演示模块
    │     └── 模块名称:apache-mybatis-demo模块                            //Apache Mybatis集成(已实现并有博文总结)
    │     └── 模块名称:apache-shardingsphere-demo模块                     //Apache ShardingSphere集成(已实现并有博文总结)
    │     └── 模块名称:design-demo模块                                    //设计模式实战落地(已实现并有博文总结)
    │     └── 模块名称:elasticsearch-demo模块                             //ElasticSearch集成(已实现并有博文总结)
    │     └── 模块名称:mongodb-demo模块                                   //MongoDB集成(已实现并有博文总结)
    │     └── 模块名称:redis-demo模块                                     //Redis集成(已实现并有博文总结)
    │     └── 模块名称:spring-boot-demo模块                               //Spring Boot快速构建应用(已实现并有博文总结)
    │     └── 模块名称:spring-cloud-alibaba-nacos-demo模块                //Spring Cloud Alibaba Nacos集成(已实现并有博文总结)
    │     └── 模块名称:spring-cloud-alibaba-seata-demo模块                //Spring Cloud Alibaba Seata集成(已实现并有博文总结)
    │     └── 模块名称:spring-cloud-alibaba-sentinel-demo模块             //Spring Cloud Alibaba Sentinel集成(已实现并有博文总结)
    │     └── 模块名称:spring-cloud-gateway-demo模块                      //Spring Cloud Gateway集成(已实现并有博文总结)
    │     └── 模块名称:spring-cloud-hystrix-demo模块                      //Spring Cloud Hystrix集成(已实现并有博文总结)
    │     └── 模块名称:spring-cloud-open-feign-demo模块                   //Spring Cloud Open Feign集成(已实现并有博文总结)
    │     └── 模块名称:spring-cloud-ribbon-demo模块                       //Spring Cloud Ribbon集成(已实现并有博文总结)
    │     └── 模块名称:spring-cloud-security-oauth2-demo模块              //Spring Cloud Security Oauth2集成(已实现并有博文总结)
    │     └── 模块名称:spring-cloud-security-oauth2-sso-client-demo模块   //Spring Cloud Security Oauth2集成(已实现并有博文总结)
    │     └── 模块名称:spring-cloud-skywalking-demo模块                   //Spring Cloud Skywalking集成(已实现并有博文总结)
    │     └── 模块名称:spring-cloud-stream-demo模块                       //Spring Cloud Stream集成(已实现并有博文总结)
    │     └── 模块名称:swagger-demo模块                                   //springfox-swagger2集成(已实现并有博文总结)
    │     └── 模块名称:xxl-job模块                                        //xxl-job集成(已实现并有博文总结)
    │     └── 模块名称:apache-spark-demo模块                              //Apache Spark集成
    │     └── 模块名称:etl-hdfs-hive-hbase-demo模块                       //ETL、HDFS、Hive、Hbase集成
    │     └── 模块名称:ddd-mode-demo模块                                  //DDD领域设计
    │     └── 模块名称:netty-demo模块                                     //Netty集成
    │     └── 模块名称:vue-demo模块                                       //前端vue集成
    ├── document                                                        // 文档
    │     └── JavaKnowledgeDocument                                     //java知识点
    │           └── java基础知识点.md                     
    │           └── mq知识点.md
    │           └── mysql知识点.md
    │           └── redis知识点.md
    │           └── springcould知识点.md
    │           └── spring知识点.md
    │     └── FounderDocument                                           //创始人
    │           └── 创始人.md
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37

    系列文章:快速集成各种微服务相关的技术,帮助大家可以快速集成到自己的项目中,节约开发时间。
    提示:系列文章还未全部完成,后续的文章,会慢慢补充进去的。

    文章目录

        • 创建mongodb-demo项目
          • 修改pom.xml
          • 修改application.properties
          • 创建MongodbDemo
          • 创建MongodbController
        • 校验mongodb是否正常工作
          • 启动项目
          • 访问接口http://localhost:8094/mongodb/add

    创建mongodb-demo项目

    项目代码:https://gitee.com/java_wxid/java_wxid/tree/master/demo/mongodb-demo
    项目结构如下(示例):
    在这里插入图片描述

    修改pom.xml

    代码如下(示例):

    
    
        4.0.0
        com.example
        mongodb-demo
        0.0.1-SNAPSHOT
        mongodb-demo
        Demo project for Spring Boot
        
            8
            8
        
    
        
            
                
                    org.springframework.boot
                    spring-boot-dependencies
                    2.6.2
                    pom
                    import
                
            
        
    
        
            
                org.springframework.boot
                spring-boot-starter-web
            
    
            
            
                org.springframework.boot
                spring-boot-devtools
                true
            
    
    
            
            
                org.springframework.boot
                spring-boot-starter-data-mongodb
            
    
            
            
                org.apache.commons
                commons-pool2
            
    
        
    
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    修改application.properties

    代码如下(示例):

    server.port=8094
    spring.data.mongodb.uri=mongodb://139.224.137.74:27017/demo
    
    • 1
    • 2
    创建MongodbDemo

    代码如下(示例):

    package com.example.mongodbdemo.entity;
    
    import org.springframework.data.annotation.Id;
    import org.springframework.data.mongodb.core.index.Indexed;
    import org.springframework.data.mongodb.core.mapping.Document;
    import org.springframework.data.mongodb.core.mapping.Field;
    
    /**
     * @author zhiweiLiao
     * @Description MongoDB的文档,@Id表示主键,@Indexed是索引字段,@Field代表字段
     * @Date create in 2022/9/12 0012 21:12
     */
    
    
    @Document("mongodb_demo")
    public class MongodbDemo {
    
        @Id
        @Indexed
        private String id;
    
        @Field("name")
        private String name;
    
        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;
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    创建MongodbController

    代码如下(示例):

    package com.example.mongodbdemo.controller;
    
    import com.example.mongodbdemo.entity.MongodbDemo;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.data.mongodb.core.MongoTemplate;
    import org.springframework.web.bind.annotation.*;
    
    /**
     * @author zhiweiLiao
     * @Description
     * @Date create in 2022/9/12 0012 21:03
     */
    
    @RestController
    @RequestMapping("/mongodb")
    public class MongodbController {
    
        @Autowired
        private MongoTemplate mongoTemplate;
    
        /**
         * 添加一条记录
         * @param mongodbDemo
         * @return
         */
        @PostMapping("/add")
        public MongodbDemo add(@RequestBody MongodbDemo mongodbDemo){
            return mongoTemplate.save(mongodbDemo);
        }
    
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32

    校验mongodb是否正常工作

    启动项目

    如下图(示例):
    在这里插入图片描述

    访问接口http://localhost:8094/mongodb/add
    {
        "id":"1",
        "name":"liaozhiwei"
    }
    
    • 1
    • 2
    • 3
    • 4

    如下图(示例):
    在这里插入图片描述添加了一条记录并且返回了数据,mongodb可以正常工作

  • 相关阅读:
    CPU 100%排查及常见案例
    零基础html学习/刷题-第二期
    Java设计模式之观察者模式(Observer Pattern)
    (41)Verilog实现递归功能
    【每日一题】补档 CF1799C. Double Lexicographically Minimum | 构造 | 简单
    (11)点云数据处理学习——Colored point cloud registration(彩色点注册)
    亿信华辰:企业数据资产管理的“道法术器”
    强力的应用容器引擎---------Docker的资源控制
    助力项目快捷实现国际化,造个多语言轮子
    直线导轨在喷涂行业中的应用场景
  • 原文地址:https://blog.csdn.net/java_wxid/article/details/126823247
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号