SpringBoot v2.x MongodB 中 去除 _class 字段

SpringBoot集成LangChain4j构建企业级AI Agent工程实践 AI Agent 已从概念验证走向生产落地,其核心挑战在于如何将大语言模型能力深度融入现有 Java 工程体系。本文围绕 SpringBoot 与 LangChain4j 的协同机制展开,解析依赖管理(BOM)、配置驱动(ConfigurationProperties)、Bean 编排(@AiService + AOP)及存储扩展(ChatMemoryStore SPI)四大技术原理,阐明为何成熟的 Spring 生态能为 AI 组件提供生命周期治理、安全密钥注入、多模型热切换与高并发会话隔离等关键能力。面 阅读详情

 在使用SpringBoot中使用MongoTemplate时,数据库中数据会有_class字段.。_class的意义,在下面这个链接有很好的解答: 
http://stackoverflow.com/questions/6810488/spring-data-mongodb-mappingmongoconverter-remove-class/ 
,其实就是说,为了在把document转换成Java对象时能够转换到具体的子类.。
要去掉的方法简单:DefaultMongoTypeMapper类的构造函数的第一个参数是Type在MongoDB中名字. 设置为null的话就不会在保存时自动添加_class属性.所以需要覆写 

以下就是去除_class 字段的配置类,只需将代码复制即可直接使用。

import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.convert.CustomConversions;
import org.springframework.data.mongodb.MongoDbFactory;
import org.springframework.data.mongodb.core.convert.DbRefResolver;
import org.springframework.data.mongodb.core.convert.DefaultDbRefResolver;
import org.springframework.data.mongodb.core.convert.DefaultMongoTypeMapper;
import org.springframework.data.mongodb.core.convert.MappingMongoConverter;
import org.springframework.data.mongodb.core.mapping.MongoMappingContext;
 
/**
 * Create by JIUN·LIU at 2018/7/24
 */
 
@Configuration
public class MongoConfig {
 
    @Bean
    public MappingMongoConverter mappingMongoConverter(MongoDbFactory factory, MongoMappingContext context, BeanFactory beanFactory) {
        DbRefResolver dbRefResolver = new DefaultDbRefResolver(factory);
        MappingMongoConverter mappingConverter = new MappingMongoConverter(dbRefResolver, context);
        try {
            mappingConverter.setCustomConversions(beanFactory.getBean(CustomConversions.class));
        } catch (NoSuchBeanDefinitionException ignore) {
        }
 
        // Don't save _class to mongo
        mappingConverter.setTypeMapper(new DefaultMongoTypeMapper(null));
 
        return mappingConverter;
    }
 
}

如果不是spring boot项目则可以用xml配置。

<mongo:mongo host="localhost" port="27017" />
<mongo:db-factory dbname="database" />
 <bean id="mappingContext"
    class="org.springframework.data.mongodb.core.mapping.MongoMappingContext" />
 <bean id="defaultMongoTypeMapper"
    class="org.springframework.data.mongodb.core.convert.DefaultMongoTypeMapper">
    <constructor-arg name="typeKey"><null/></constructor-arg>
 </bean>
 <bean id="mappingMongoConverter"
    class="org.springframework.data.mongodb.core.convert.MappingMongoConverter">
    <constructor-arg name="mongoDbFactory" ref="mongoDbFactory" />
    <constructor-arg name="mappingContext" ref="mappingContext" />
    <property name="typeMapper" ref="defaultMongoTypeMapper" />
 </bean>
 <bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
    <constructor-arg name="mongoDbFactory" ref="mongoDbFactory" />
    <constructor-arg name="mongoConverter" ref="mappingMongoConverter" />
 </bean>

 

SpringBoot+Vue全栈办公管理系统开发实战 前后端分离架构是现代Web开发的主流模式,通过SpringBoot构建RESTful API后端与Vue.js实现前端交互的协作方式,能有效提升开发效率。这种架构的核心价值在于关注点分离,后端专注业务逻辑与数据持久化,前端负责用户界面与交互体验。在企业级应用中,结合RBAC权限模型和MySQL优化技术,可构建高安全性的办公管理系统。本文以SpringBoot+Vue技术栈为例,详解如何实现包含用户权限管理、公文流转等核心功能的完整解决方案,特别适合需要学习企业级全栈开发实践的开发者参考。项目中运用的MyBa 阅读详情

相关推荐

SpringBoot+Vue3全栈开发作家信息管理系统实践

关系型数据库设计与前后端分离架构是现代Web应用开发的核心技术。通过SpringBoot实现RESTful API,结合MyBatis处理复杂SQL映射,能够高效管理多对多关系数据。Vue3的组合式API配合Element Plus组件库,为数据密集型管理系统提供了优秀的用户界面解决方案。本系统针对作家-作品-奖项的复杂关联场景,展示了如何通过合理的数据库索引设计、MyBatis高级映射和Vue3状态管理,实现高性能的文学信息管理平台。特别在处理中文分词搜索和大数据量表格渲染方面,提供了具有参考价值的工程实

weixin_33824363的博客 369

SpringBoot集成LangChain4j构建生产级AI Agent服务骨架

AI Agent是让大模型具备工具调用、记忆管理和上下文感知能力的核心范式,其本质是将自然语言指令转化为结构化决策与服务编排。在Java技术栈中,LangChain4j为SpringBoot提供了轻量、可嵌入的Agent开发支持,但真正落地需突破依赖注入、会话隔离、工具安全边界与可观测性等工程瓶颈。本文聚焦于SpringBoot 3.x + JDK17环境下,如何基于LangChain4j构建可部署、可调试、可监控的最小可行Agent闭环——涵盖多环境模型切换、MongoDB持久化会话、@Tool工程化封装

weixin_33709364的博客 410

SpringBoot+Vue学生选课系统实战:从架构到部署的全栈开发指南

在Java Web开发领域,SpringBoot以其自动配置和快速启动的特性,成为构建现代化后端服务的首选框架。其核心原理在于通过约定大于配置的理念,简化了传统Spring应用的初始搭建和开发过程,极大地提升了开发效率。这一技术价值在于,它让开发者能够更专注于业务逻辑的实现,而非繁琐的配置。结合Vue.js这一渐进式前端框架,可以构建出前后端分离、用户体验良好的单页面应用。这种架构模式广泛应用于各类管理系统、电商平台等需要复杂交互和动态数据展示的场景。本文以典型的“学生选课系统”为例,深入探讨如何整合Spr

weixin_33725270的博客 478

SpringBoot整合MongoDB并去掉_class字段

文章目录项目介绍环境版本说明项目结构代码详情MongoDB 新建数据库设置用户名密码pom.xml文件新增依赖项MongoConfig.java 配置文件MongoDao.javaMongoController.javaPerson.java部分测试截图去掉_class字段最后附带源码地址 前言:上文介绍了 MongoDB 安装配置以及连接 这篇文章主要介绍使用springboot 整合mongodb实现简单的crud操作 项目介绍 环境版本说明 MongoDB:5.0.6 SpringBoot:2.5

俺滴的博客 3717

SpringBoot整合SQLite:轻量级数据库在本地应用与微服务中的实践指南

在软件开发中,数据库选型是架构设计的关键环节。关系型数据库通过SQL语言和ACID事务保证数据一致性,而轻量级嵌入式数据库则以其零配置、单文件部署的特性,在特定场景下展现出独特优势。从技术价值看,这类数据库降低了运维复杂度,提升了应用的内聚性和可移植性。其典型应用场景包括本地缓存、单机工具、嵌入式设备及微服务架构中的非核心数据存储。本文聚焦于SpringBoot框架与SQLite的整合实践,详细解析了依赖配置、数据访问层实现(涵盖JPA与JDBC Template)、以及生产环境下的并发控制与性能优化策略,

weixin_30307921的博客 314

HIDL概述

HIDL背景 Treble 是 Google Android 团队的一项重大项目,意在 Android 操作系统框架在架构方面的一项重大改变,旨在让制造商以更低的成本更轻松、更快速地将设备更新到新版 Android 系统。Android 7.x 及更早版本中没有正式的供应商接口,因此设备制造商必须更新大量 Android 代码才能将设备更新到新版 Android 系统: 图1 Treble ...

u013357557的专栏 2万+

MongoDB入门指南:springboot整合MongoDB

本文介绍了如何使用Spring Boot集成MongoDB实现对数据的增删改查操作。首先,我们简要介绍了MongoDB的基础知识,然后讲解了如何在Spring Boot项目中引入MongoDB依赖并进行配置。接下来,我们详细讲解了如何实现MongoDB的CRUD操作,并提供了实例演示。通过学习本文,读者可以了解如何使用Spring Boot和MongoDB来实现高效、灵活和可扩展的数据操作。

dougsu的博客 7355

芯片硅前验证技术与驱动工程师实战指南

硅前验证是芯片开发流程中的关键环节,通过pre-silicon simulation等技术手段在流片前验证设计正确性。其核心技术包括软件仿真、FPGA原型验证和硬件仿真器解决方案,涉及Linux驱动开发、芯片架构理解和波形分析等核心技能。作为连接芯片设计与系统集成的桥梁,硅前验证能早期发现设计缺陷,节省数百万美元流片成本。以Cadence Palladium为代表的硬件仿真器,通过专用服务器系统实现比纯软件方案快100-1000倍的仿真速度,为驱动工程师提供完整的外设模型验证环境。掌握硅前验证技术可显著提升

weixin_42522857的博客 323

Spring Boot MongoDB禁用 “_class“ 字段

使用 MongoRepository 情况下,可进行如下设置,注意spring boot引入mongodb版本。此方法使用版本为2.1.4 RELEASE。

weixin_43706622的博客 446

使用petalinux做嵌入式设计开发(1)

1.创建vivado工程,建立硬件环境,最终导出hdf文件 既可以在windows系统下的vivado上编写硬件工程并导出hdf文件,也可以在linux系统下的vivado中编写硬件工程并导出hdf文件。(对于windows系统下导出的hdf文件还需要传递到linux系统下的文件夹中。) 2.以hdf硬件文件为基础创建,配置,编译,打包petalinux工程,导出linux系统所需镜像文件。 具体步骤: (0)设置环境变量 设置环境变量使得我们可以直接使用petalin...

plotup的博客 2076

001:InVEST学习——产水/水源涵养

InVEST产水模块介绍 前言 (一些碎碎念着急的可以忽略)最开始做inVEST模型是2020年中,应该说对这个软件有很特殊的感情,之前一直想出一个教程,但是因为事情多加上拖延加上懒就耽搁了,事实证明东西不用就确实荒废了,现在面对当初自己做的东西顶多也就能想起一些思路,很多细节都忘了,所以这个教程也相当于是一个备忘录吧。 ...

Victoriaac的博客 2万+

SpringBoot整合Mongodb去掉_class字段

今天在做springboot整合mongodb时,发现添加文档会自动添加一个_class的字段,看了很多篇文章,版本都比较老,通过官网的描述,再手动修改了一点,终于成功了。 springboot版本 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId>

weixin_45271492的博客 2570

Java电商秒杀系统性能优化(一)——电商秒杀系统框架回顾

电商秒杀系统框架回顾项目简介外部依赖框架回顾项目要点项目中存在的问题小结 课程是免费的,课程地址如下:SpringBoot搭建电商秒杀项目,课程真的很棒,作者的思路很清晰,建议各位读者可以跟着视频练习一下这个项目; 项目简介 通过SpringBoot快速搭建的前后端分离的电商基础秒杀项目。项目通过应用领域驱动型的分层模型设计方式去完成:用户otp注册、登陆、查看、商品列表、进入商品详情以及倒计时秒...

ghw15221836342的博客 3720

Springboot+MongoDB添加数据时会自带_class字段

Springboot+MongoDB添加数据时会自带_class字段

chunhev5的博客 1241

【WorkBuddy专栏14】专家不是「换皮」——角色切换、训练机制与自我进化深度拆解

WorkBuddy专栏14】专家不是「换皮」——角色切换、训练机制与自我进化深度拆解

AI人人懂 593

【蓝凌表单】JSP组件常用语法整理

【代码】【蓝凌表单】JSP组件常用语法整理。

烧硬盘 709

SpringBoot在线学习平台开发与大数据分析实践

在线学习平台是现代教育技术的重要应用,其核心在于将Web开发框架与数据分析技术有机结合。SpringBoot作为主流Java框架,通过自动配置和起步依赖显著提升开发效率,特别适合构建教育类应用系统。在技术实现层面,RBAC权限控制保障系统安全,HLS协议优化视频流传输,而混合数据库架构(MySQL+MongoDB)则兼顾事务处理与行为数据分析需求。对于大数据专业应用场景,基于Spark的行为分析模型能有效挖掘学习行为规律,为个性化教学提供数据支撑。本案例展示了如何将SpringBoot的工程实践优势与大数据

weixin_33800463的博客 442

用MATLAB计算卡方值

然后,我们计算了期望频数,即在两个分类变量独立的情况下,每个单元格的预期频数。接下来,我们使用卡方检验的公式计算了卡方值。卡方检验是一种常用的统计方法,用于确定两个分类变量之间是否存在相关性。它基于观察到的频数和期望频数之间的差异来评估分类变量之间的独立性。在MATLAB中,我们可以使用。请注意,这只是一个简单的示例代码,用于说明如何使用MATLAB计算卡方值。在实际应用中,您可能需要根据您的具体数据和研究问题进行相应的修改和调整。在上面的代码中,我们首先创建了两个分类变量。函数显示了计算得到的卡方值。

CodeNexus的博客 2658

SpringBoot2+Vue3全栈博客系统开发实战

现代Web开发中,前后端分离架构已成为主流技术范式。通过SpringBoot实现RESTful API服务,结合Vue3构建响应式前端,可以高效开发全栈应用。这种架构的核心价值在于关注点分离和独立部署能力,特别适合内容管理系统等中后台应用。以博客系统为例,SpringBoot提供稳定的后端支持,包括JWT鉴权、MyBatis-Plus数据访问和MySQL优化;而Vue3的组合式API则大幅提升前端开发效率。该技术组合已被广泛应用于企业级项目开发,能有效解决传统单体应用的维护难题。

weixin_34408624的博客 519

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

SpringBoot构建美食菜谱分享平台的技术实践

SpringBoot作为现代Java开发的主流框架,通过自动配置和嵌入式容器等特性大幅提升开发效率。其分层架构设计支持快速构建高可维护性的Web应用,特别适合UGC(用户生成内容)类平台的开发。在数据库优化方面,组合索引设计和分页查询能有效解决慢SQL问题,而Redis缓存与分布式锁机制则保障了高并发场景下的数据一致性。本文以美食菜谱平台为例,展示了如何通过SpringBoot整合Elasticsearch实现智能搜索,利用MinIO管理多媒体资源,并采用多级缓存策略提升系统性能。这些工程实践对构建各类内容

weixin_33827731的博客 469

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

SpringBoot+Vue构建疫情隔离管理系统的架构设计与优化

现代Web应用开发中,SpringBoot与Vue.js的组合已成为主流技术栈。SpringBoot通过自动化配置简化了后端开发,而Vue的组件化特性提升了前端复用率。在数据库层面,MySQL的ACID特性保障了数据一致性,MyBatis-Plus则优化了复杂SQL处理。这种架构特别适合高并发场景,如疫情管理系统需要处理日均10万+访问量。通过微服务划分和状态机设计,系统实现了隔离人员流转的精细化管理。实时数据看板借助WebSocket和ECharts可视化技术,为决策提供支持。性能优化方面,复合索引和虚拟

weixin_34408717的博客 414

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Springboot(学习笔记)

name=lisi 键值对person.name=zhangsan 对象person.age=18 对象address=beijing,shanghai 数组(1) yml文法规则大小写敏刚 Son不等与son冒号与值之间必须加空格 port: 8080缩进不能用tab必须空格同级别左对齐 空格数量不重要#注释 #注释内容(2) 属性类型name: lisi 键值对mag1: 'aaa /n bbb' 常量。

m0_65939803的博客 247

Java大模型 ~ 智能医疗

LangChain4j 的目标是简化将大语言模型(LLM - Large Language Model)集成到 Java 应用程序中的过程。阿里云百炼是 2023 年 10 月推出的。它集成了阿里的通义系列大模型和第三方大模型,涵盖文本、图像、音视频等不同模态。功能优势:集成超百款大模型 API,模型选择丰富;5-10 分钟就能低代码快速构建智能体,应用构建高效;提供全链路模型训练、评估工具及全套应用开发工具,模型服务多元;在线部署可按需扩缩容,新用户有千万 token 免费送,业务落地成本低。

zouyang920的博客 1000

SpringBoot+Vue校园二手书交易系统开发实践

校园二手交易平台是解决资源循环利用的典型应用场景,其核心技术涉及前后端分离架构与数据库设计。采用SpringBoot+Vue技术栈可实现高可用的Web应用,其中SpringBoot提供RESTful API支持,Vue负责构建响应式前端界面。在校园场景中,教材智能匹配算法和交易状态机设计是关键技术创新点,前者通过NLP技术实现书名相似度计算,后者确保交易流程的可靠性。这类系统特别适合处理高校教材供需错配问题,能显著提升二手教材流通效率。实际开发中需重点考虑图片压缩处理、WebSocket即时通讯等工程实践细

keke1314520的博客 383

SpringBoot+Vue招生管理系统开发实践与优化

现代Web应用开发中,前后端分离架构已成为主流技术方案。SpringBoot作为Java生态的微服务框架,通过自动配置和起步依赖简化了后端开发;Vue.js则以其响应式数据绑定和组件化特性,成为前端开发的热门选择。这种架构模式在高校信息化建设中具有显著技术价值,特别是在处理高并发查询、实现复杂业务逻辑时表现优异。以招生管理系统为例,通过Redis缓存热点数据、Nginx负载均衡等技术手段,系统成功应对了单日5000+并发的压力测试。典型应用场景还包括在线表单处理、实时数据统计等教育信息化需求,其中动态路由和

weixin_34055787的博客 414

智慧教育实习系统:SpringBoot+Vue3全栈开发实践

微服务架构在现代教育信息化建设中扮演着重要角色,其核心价值在于通过模块化设计解决系统耦合问题。SpringBoot作为Java生态的主流框架,结合MyBatis等ORM工具,能够高效实现数据中台建设。本文以智慧教育实习系统为例,详细解析前后端分离架构下的关键技术方案,包括基于Vue3的动态表单渲染、SpringBoot工作流引擎实现,以及MySQL性能优化实践。系统特别整合了WebSocket实时通讯和AI辅助功能,为教育实习管理提供了全流程数字化解决方案,适用于高校、职校等教育机构的实践教学管理场景。

weixin_33858485的博客 394
上一篇: 在springnvc/springboot中, 利用jason 的Map参数实现多个参数传递
下一篇: activiti5.x 多种部署流程例子- Model, zip, classpath
大树叶
博客等级 码龄12年 1171粉丝 664原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值