Kotlin 为每个类中的每个属性生成属性访问器(getter 和 setter)。...转换器使用任何注册的 Spring 转换器来覆盖对象属性到文档字段和值的默认映射。 对象的字段用于在文档中的字段之间进行转换。JavaBean不使用公共属性。...没有注释但已命名id的_id字段将映射到该字段。 标识符的默认字段名称是_id并且可以通过@Field注释进行自定义。 下面概述了对映射到 _id 文档字段的属性进行的类型转换(如果有)。...除了这些类型之外,Spring Data MongoDB 还提供了一组内置转换器来映射其他类型。您可以提供自己的转换器来调整类型转换。...尽管映射框架没有必要具有此注释(您的 POJO 已正确映射,即使没有任何注释),但它允许类路径扫描器查找和预处理您的域对象以提取必要的元数据。
MongoDB 文档和域类之间的映射是通过委托给MongoConverter接口的实现来完成的。Spring 提供了MappingMongoConverter,但您也可以编写自己的转换器。...这些约定以及映射注解的使用在“映射”一章中进行了解释。 另一个核心功能MongoTemplate是将 MongoDB Java 驱动程序抛出的异常转换为 Spring 的可移植数据访问异常层次结构。...您可以将 的WriteResultChecking属性设置为MongoTemplate以下值之一:EXCEPTION或NONE,分别用于抛出Exception或不执行任何操作。...如果WriteConcern未设置该属性,则默认为 MongoDB 驱动程序的 DB 或 Collection 设置中的设置。...没有注释但已命名的属性或字段id映射到该_id字段。
2、启动 MognoDB docker run -d \ --name mongo \ -v mongo_data_configdb:/data/configdb \ -v mongo_data_db...:/data/db \ -p 27017:27017 \ mongo \ --auth 3、初始化管理员账号 docker exec -it mongo mongo...工程如图: 目录核心如下 pom.xml Maven依赖配置 application.properties 配置文件,配置 mongo 连接属性配置 dao 数据访问层 controller 展示层实现...spring.data.mongodb.username=admin spring.data.mongodb.password=admin MongoDB 数据访问层 CityRepository...cityName=杭州,可以看到如图的响应: 继续访问 http://localhost:8080/city/page/list , 发现没有值,那么按照上一讲插入几条数据即可有值,如图: 总结 这里
有一个 spring-boot-starter-data-redis “Starter”用于以方便的方式收集依赖项。默认情况下,它使用 Lettuce。该启动器处理传统和反 应应用程序。...31.2.1连接MongoDB数据库 要访问Mongo数据库,您可以注入自动配置的 org.springframework.data.mongodb.MongoDbFactory 。...spring.data.mongodb.uri 属性以更改URL并配置其他设置,例如副本集,如以下示例所示: spring.data.mongodb.uri=mongodb://user:secret...例如,您可以在 application.properties 中声明以下设置: spring.data.mongodb.host=mongoserver spring.data.mongodb.port...在这种情况 下, spring.data.mongodb.uri 应该用于提供所有配置。 如果未指定 spring.data.mongodb.port ,则使用默认值 27017 。
例如,spring-boot-starter-data-mongodb-reactive包括对反应性 mongo 驱动程序和项目反应堆的依赖性。...配置属性的绑定 在 Spring Boot 2.0 中,用于绑定Environment属性的机制@ConfigurationProperties已经完全彻底修改。...现有的属性已更改为始终使用Duration。该@DurationUnit注释通过设置如果没有指定所使用的单元确保向后兼容性。...我们还公开和利用了 Kotlin 对其他 Spring 项目(如Spring Framework,Spring Data 和 Reactor)已添加到其最近版本中的支持。...该enabled属性已被替换为更具表现力枚举。例如,如果你想一直执行 Spring Batch 的初始化,您可以设置spring.batch.initialize-schema=always。
Spring Boot正是在这样的一个背景下被抽象出来的开发框架,它本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于Spring框架的应用程序。...也就是说,它并不是用来替代Spring的解决方案,而是和Spring框架紧密结合用于提升Spring开发者体验的工具。...框架的一些默认配置 @EnableScheduling会初始化一个Scheduler用于执行定时任务和异步任务 Spring Boot提供的@EnableAutoCongiguration...首先这是一个Spring的配置@Configuration,它定义了我们访问Mongo需要的@Bean,如果这个@Configuration被Spring Context扫描到,那么Context中自然也就有两个一个...作为前缀的属性,然后通过名字直接映射为对象的属性,同时还包含了一些默认值。
通过在application.properties中设置属性:debug=true,可以通过控制台的输出观察自动配置启动的情况:(以下有删减,建议自己运行一下看看) ==================...= null) { this.mongo.close(); } } @Bean //使用java配置,当容器中没有这个bean的时候执行初始化...当容器中没有org.springframework.data.mongodb.MongoDbFactory这类bean的时候。...( prefix = "spring.data.mongodb" ) public class MongoProperties { public static final int DEFAULT_PORT...=true),代表当xxx.xxx为enable时条件的布尔值为true,如果没有设置的情况下也为true。
转换器注册CustomConversions为中央工具,允许根据源和目标类型注册和查询已注册的转换器。...已弃用:ThreeTenBackport 转换器,用于在org.joda.time、JSR-310 和java.util.Date....转换器消歧 通常,我们会检查Converter它们相互转换的源和目标类型的实现。根据其中一个是否是底层数据访问 API 可以本地处理的类型,我们将转换器实例注册为读取或写入转换器。...在启用了分片的数据库中分片集合。 指定分片键。此示例使用基于范围的分片。 19.2.分片键处理 分片键由一个或多个属性组成,这些属性必须存在于目标集合的每个文档中。它用于跨分片分发文档。...通过设置@Sharded(immutableKey = true)Spring Data 不会尝试检查实体分片键是否已更改。 有关更多详细信息,请参阅MongoDB 文档。
spring.quartz.startup-delay 0s 初始化完成后启动调度程序的延迟时间。如果在整个应用程序启动之前不运行任何作业,则设置此属性很有意义。...spring.cache.jcache.config 用于初始化高速缓存管理器的配置文件的位置。配置文件取决于基础缓存的实现。...spring.data.mongodb.grid-fs-database GridFS数据库名称。 spring.data.mongodb.host Mongo服务器主机。无法使用URI设置。...spring.data.mongodb.password mongo服务器的登录密码。无法使用URI设置。 spring.data.mongodb.port Mongo服务器端口。...spring.data.mongodb.username mongo服务器的登录用户。无法使用URI设置。 spring.data.neo4j.auto-index none 自动索引模式。
MongoDb应运而生,MongoDb是典型的文档性的数据库,对于保存多层级的数据比较方便,同时MongoDb更强调用户的访问速度,采用的是若一致性,对于数据请求提供一个“大约”的数字,以求更快处理数据...Spring Data MongoDb Spring Data其实是一个高级别的Spring Source项目,而Spring Data MongoDB仅仅是其中的一个子项目。...spring-data-mongodb ${spring.data.version}...3.创建Spring-mongo.xml的配置文件 或者直接再spring配置文件中整合即可 <?xml version="1.0" encoding="UTF-8"?...mongo:options - 用于配置一些数据库连接设置信息 mongo:db-factory - 相当于Hibernate中的SessionFactory mongoTemplate - 非常重要,
spring.messages.encoding= UTF-8 # 设置是否返回到系统区域设置,如果没有找到特定语言环境的文件。...spring.cache.infinispan.config= # 用于初始化缓存管理器的配置文件的位置。...spring.data.mongodb.host = localhost #Mongo服务器主机。 spring.data.mongodb.password = #登录mongo服务器的密码。...spring.data.mongodb.port = 27017 #Mongo服务器端口。...spring.data.mongodb.username = #登录mongo服务器的用户。
MongoTemplate 在执行常见的 Mongo 操作时提高生产力的助手类。包括文档和 POJO 之间的集成对象映射。 异常转换为 Spring 的可移植数据访问异常层次结构。...11.1.入门 引导设置工作环境的一种简单方法是在STS 中创建一个基于 Spring 的项目。 首先,您需要设置一个正在运行的 MongoDB 服务器。...对象和要使用的数据库名称来实例化 Spring Mongo 的中央帮助器类。...映射器针对标准 POJO 对象工作,无需任何额外的元数据(尽管您可以选择提供该信息。请参阅此处。)。 约定用于处理id字段,将其转换为ObjectId存储在数据库中的时间。 映射约定可以使用字段访问。...的可移植DataAccessException层次结构中的异常,用于使用注释注释的数据访问类@Repository。
例如,spring-boot-starter-data-mongodb-reactive包含了所有对响应式mongo的相关驱动依赖。...Configuration Property Binding 在Spring Boot 2.0中,已经彻底修改了用于绑定Environment属性的@ConfigurationProperties机制。...类的绑定器,提供了一些对属性绑定特别有用的额外转换器。...例如,如果您想要始终执行Spring Batch初始化,您可以通过设置 spring.batch.initialize-schema=always来实现。...要启用InfluxDB支持,您需要设置一个spring.influx.url属性,并将influxdb-java包含到您的类路径中。
=root --spring.data.mongodb.uri=mongodb://mongo:27017/powerjob-product" \ -v ~/docker/powerjob-server...在应用中初始化执行器 安装完调度中心后,我们需要在SpringBoot应用中初始化PowerJob的执行器(powerjob-worker)。...首先我们需要在调度中心注册好应用(集成执行器的),应用名称为application.yml中的powerjob.worker.app-name属性,这里使用的是mall-tiny-powerjob:123456...之后在任务管理功能中添加一个任务,这里我们用CRON方式设置每20秒执行执行器中的处理方法; ? 在任务列表中点击运行开始执行任务; ? 在任务列表中点击更多->运行记录可以查看任务的运行日志; ?...点击日志可以查看处理器中上报的日志,jobParams为之前我们创建任务时设置的参数; ? 点击详情可以查看此次触发任务的结果,即我们在ProcessResult中返回的信息。 ?
-- 配置1: 自动扫描controller包下的所有类,使其认为spring mvc的控制器 --> <mongo:options connections-per-host="${mongo.connectionsPerHost}" threads-allowed-to-block-for-connection-multiplier...-- mongo的工厂,通过它来取得mongo实例,dbname为pe的数据库名,没有的话会自动创建--> <!
spring.messages.encoding= UTF-8# 设置是否返回到系统区域设置,如果没有找到特定语言环境的文件。...spring.cache.infinispan.config= # 用于初始化缓存管理器的配置文件的位置。...spring.data.mongodb.host = localhost #Mongo服务器主机。spring.data.mongodb.password = #登录mongo服务器的密码。...spring.data.mongodb.port = 27017 #Mongo服务器端口。...spring.data.mongodb.username = #登录mongo服务器的用户。
让每一个服务器里面存储的数据都是一样大小。这样就非常容易扩展。 2、高性能,Mongo非常适合实时的插入,保留了关系型数据库即时查询的能力,并具备网站实时数据存储所需的复制及高度伸缩性。...3、高伸缩性,Mongo非常适合由数十或数百台服务器组成的数据库,Mongo的路线图中已经包含对MapReduce引擎的内置支持。...4、存储动态性,相较于传统的数据库当要增加一个属性值的时,对表的改动比较大,mongodb的面向文档的形式可以使其属性值轻意的增加和删除。而原来的关系型数据库要实现这个需要有很多的属性表来支持。...bind_ip 设置为0.0.0.0,否则Mongo服务只能本地连接,远程服务器会连接不上。...spring-boot-starter-data-mongodb 核心功能是映射 POJO 到 Mongo的DBCollection 中的文档,并且提供 Repository 风格数据访问层。
领取专属 10元无门槛券
手把手带您无忧上云