Sprint Boot 学习路线 3

news2024/9/20 22:32:56

嵌入式服务器

Spring Boot 的嵌入式服务器功能是一项方便而强大的功能,它允许你在应用程序中直接运行 Web 服务器,无需将其部署到单独的独立 Web 服务器中。这使得开发、测试和部署 Web 应用程序变得容易,而且它还是轻量级的、易于启动和停止的,易于配置。

Hibernate

Hibernate是一个Java框架,它提供了对象关系映射到面向对象模型到关系数据库。这意味着Hibernate提供了从Java类到数据库表的映射,同时还提供了数据查询和检索功能。

事务

事务只是表示工作单元。在这种情况下,如果一步失败了,整个事务就会失败 (这被称为原子性)。一个事务可以由ACID属性 (原子性、一致性、隔离性和持久性) 来描述。

在 hibernate 框架中,我们有 Transaction 接口来定义工作单元。它对事务实现 (JTA、JDBC) 进行了抽象。

关系

使用Hibernate,如果我们想在两个实体之间建立关系,则表之间必须存在外键关系,我们称之为引用完整性。拥有对象之间的关系的主要优点是,我们可以在一个对象上执行操作,然后将相同的操作传递到数据库中的另一个对象上。

以下是Hibernate中可以在对象之间拥有的四种类型的关系。

  • 一对一
  • 多对一
  • 多对多
  • 一对多

实体生命周期

在Hibernate中,我们可以创建一个实体的新对象并将其存储到数据库中,也可以从数据库中获取实体的现有数据。这些实体与生命周期相关,每个实体对象都通过生命周期的各个阶段。

Hibernate生命周期主要有四种状态:

  • 瞬态状态
  • 持久状态
  • 分离状态
  • 已移除状态

Spring Data

Spring Data是一个用于在Spring应用程序中访问数据的项目集合。它提供了一个通用的接口,用于处理各种类型的数据存储,包括关系数据库、NoSQL数据存储和基于云的数据服务。Spring Data的目标是通过在不同的数据存储和数据访问技术之间提供一致的高级存储库编程模型,简化Spring应用程序中的数据访问。这可以帮助开发人员编写更少的样板代码并专注于业务逻辑,同时仍能利用底层数据存储的全部功能。

Spring Data JPA

Spring Data JPA是一个库,它使得在Spring应用程序中实现基于Java Persistence API (JPA)的存储库(一个“DAO”缩写)变得容易。它是在JPA之上的一个抽象,允许您使用更简单和更方便的API执行对数据库的CRUD(创建、读取、更新、删除)操作。Spring Data JPA还提供了其他功能,如分页、动态查询生成等。

Spring Data Mongodb

Spring Data for MongoDB是Spring Data项目的一部分,旨在为各种新数据存储库提供一个熟悉且一致的基于Spring的编程模型,同时保留库特定的功能和能力。

Spring Data MongoDB项目提供了与MongoDB文档数据库的集成。Spring Data MongoDB的关键功能领域是提供一个POJO中心模型,用于与MongoDB DBCollection交互,并轻松编写存储库风格的数据访问层。

Spring Data JDBC

Spring Data JDBC是Spring Data项目的一部分,它提供了使用JDBC(Java Database Connectivity)与关系型数据库进行交互的支持。它旨在提供一种简单且一致的编程模型,以使用JDBC与数据库进行交互,同时仍然允许在需要时使用JDBC的全部功能。Spring Data JDBC提供了一组抽象和实用程序类,简化了与数据库的工作,例如用于执行SQL查询的简单模板类,用于实现数据访问对象(DAO)的存储库抽象,以及支持查询结果的分页和排序。它适用于Java和Kotlin。

最后

为了方便其他设备和平台的小伙伴观看往期文章:公众号搜索Let us Coding,或者扫描下方二维码,关注公众号,即可获取最新文章。

看完如果觉得有帮助,欢迎点赞、收藏关注

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1193848.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于SSM的游戏销售系统的设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

用朴素贝叶斯实现垃圾邮箱分类实验报告

一、实验目的 1.会用Python创建朴素贝叶斯模型 2.使用朴素贝叶斯模型对垃圾邮件分类 3.会把文本内容变成向量 4.会用评价朴素贝叶斯模型的分类效果 二、设备与环境 Jupyter notebook Python3.9 三、实验原理 四、实验内容 1.把给定的数据集message.csv拆分成训练集和测试集&…

jsvascript使用dhtmlXTreeObject的loadJSONObject绘制目录树

文章目录 1,引入dhtmlXTreeObject的css和js文件2,创建一棵目录树2.1,let tree new dhtmlXTreeObject(id-dhtmltree-0, "100%", "100%", 0);2.2,设置图片根目录(后续使用到的图片都是相对于该目录…

基于insightface实现的人脸检测,人脸识别,insightface源码讲解。

目录 1.搭建insightface需要的环境 2.下载insightface工程 3.代码工程文件讲解 3.1 python-package 3.2 进行测试 3.3 examples 4. 人脸识别 5.代码理解: 1.搭建insightface需要的环境 埋个坑,后续再写,笔者在安装过程中遇到了一些问题。…

你知道Online DDL吗?

什么是Online DDL? 在线DDL(Online Data Definition Language)是指在数据库运行状态下执行数据定义语言(DDL)操作,例如创建、修改或删除表结构、索引等操作,而不会造成数据库的长时间锁定或无法…

C#动态拦截并覆盖第三方进程的函数,实现函数篡改(外挂)

今天在看之前收藏的一个pdf文档(介绍C#外挂的相关知识的),结合网上的东西及个人的理解才有了这篇文章。 参考文章: 【精选】一文带解读C# 动态拦截覆盖第三方进程中的函数(外挂必备)_zls365365的博客-CSDN博客 DotNetDetour - …

【经验模态分解】4.信号由时域向频域的转换

/*** poject 经验模态分解及其衍生算法的研究及其在语音信号处理中的应用* file 傅里叶变换与小波变换* author jUicE_g2R(qq:3406291309)* * language MATLAB* EDA Base on matlabR2022b* editor Obsidian(黑曜石笔记软件&#…

Git的进阶操作,在idea中部署gie

🏅我是默,一个在CSDN分享笔记的博主。📚📚 ​​ 🌟在这里,我要推荐给大家我的专栏《git》。🎯🎯 🚀无论你是编程小白,还是有一定基础的程序员,这…

CCIA数安委等组织发布PIA星级标识名单,合合信息再次通过数据安全领域权威评估

近期,“中国网络安全产业联盟(CCIA)数据安全工作委员会”、“数据安全共同体计划(DSC)”等组织共同发起“个人信息保护影响评估专题工作(简称“PIA专题工作”)”,并为入围企业颁发了…

交通信号标志识别系统 python 深度学习 YOLOv5

[毕业设计]2023-2024年最新最全计算机专业毕设选题推荐汇总 感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人 。 1、项目介绍 本系统基于YOLOv5,采用登录注册进行用…

查找或替换excel换行符ctrl+j和word中的换行符^p,^l

一、excel中 直接上图。使用ctrlh调出替换,查找内容里按ctrlj(会出现一个闪的小点),即为换行符。 二、word中 在word中,^p和^l分别代表换行符(enter)和手动换行符(使用shiftenter&…

Spring高手之路16——解析Spring XML配置的BeanDefinition源码

文章目录 1. BeanDefinition阶段的分析2. 加载xml配置文件2.1 XML配置文件中加载bean的代码示例2.2 setConfigLocations - 设置和保存配置文件路径2.3 refresh - 触发容器刷新,配置文件的加载与解析2.4 loadBeanDefinitions - 具体的BeanDefinition加载逻辑2.5 load…

java数据结构--阻塞队列

目录 一.概念 二.生产者消费者问题 三.阻塞队列接口BlockingQueue 四.基于数组实现单锁的阻塞队列 1.加锁方式 2.代码实现 3.解释说明 (1).offer添加元素 (2)poll取出元素 4.timeout超时时间 5.测试 五.基于数组实现双锁的阻塞队列 1.问题 …

数据的使用、表关系的创建、Django框架的请求生命周期流程图

目录 一、数据的增删改查 1. 用户列表的展示 2. 修改数据的逻辑分析 3. 删除功能的分析 二、如何创建表关系 三、Django的请求生命周期流程图 一、数据的增删改查 1. 用户列表的展示 把数据表中得用户数据都给查询出来展示在页面上 查询数据 def userlist(request):&qu…

luckysheet的使用——14.开启表格只读模式(所有单元格无法编辑)

开启只读模式后,所有的单元格都无法编辑,与非编辑模式做区分。 1.在src/global/api.js文件中,新增开启只读模式的方法: /*** 开启工作表只读模式(所有单元格无法编辑)*/ export function setWorkBookReadOnly() {Store.allowEdi…

Docker部署ubuntu1804镜像详细步骤

Docker部署ubuntu1804镜像详细步骤 ubuntu镜像库地址:https://hub.docker.com/_/ubuntu/tags?page1&ordering-name 拉取镜像(默认为最新版本): docker pull ubuntu或,拉取指定版本镜像: docker pull…

P1529 [USACO2.4] 回家 Bessie Come Home 题解

文章目录 题目描述输入格式输出格式样例样例输入样例输出 提示完整代码 题目描述 现在是晚餐时间,而母牛们在外面分散的牧场中。 Farmer John 按响了电铃,所以她们开始向谷仓走去。 你的工作是要指出哪只母牛会最先到达谷仓(在给出的测试数…

【文件IO】认识文件

文章目录 认识文件文件的结构和目录文件路径 认识文件 我们先来认识狭义上的文件(file),针对硬盘这种持久化存储的I/O设备,当我们想要进行数据保存时,往往不是保存一个整体,而是独立成一个个单位进行保存,这个独立的单…

人工智能技术的高速发展,普通人如何借助AI实现弯道超车?

人工智能技术的高速发展,普通人如何借助AI实现弯道超车? 随着互联网信息传播的爆炸,人类科技文明的快速发展“人工智能”成为新的话题,科技的进步也让普通人觉得自己与社会脱节,找工作越来越难,创业越来越难…

前端开发学习指南

前端是一个看似入门门槛不高,但要学好很难的领域。前端的知识体系庞杂又松散,技术演进快,如果摸不清脉络的话很容易陷入盲人摸象的困境甚至跑偏。 其实只要掌握了正确的方法,学习前端和学好前端就只是个时间问题,希望下…