介绍 如果写一个数据库表的crud接口,正常流程:编写实体类-》编写Controller-》编写Service-》编写DAO-》-》编写XML文件 特别是管理后台,多数都是简单的CRUD,用普通的mybatis有的鸡肋 介绍 官网https://baomidou.com/ 是一个 Mybatis 的增强工具,在 Mybatis 的基础上只做增强不做改变,为简化开发、提高效率而生 是怎么增强的呢?已经封装好了一些crud方法,我们不需要再写xml了,直接调用这些方法就行,类似JPA但优于JPA 更多特性 无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑 损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作 强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求 支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错 支持主键自动生成:支持多达 4 种主键策略(内含分布式唯一 I....
Lombok的优点 Lombok:可以让你的POJO代码特别简洁,不止简单在 BO/VO/DTO/DO等大量使用,还有设计模式,对象比对等 domain/model/dto/do/vo/vo等等 大家写最看最多的的就是set和get方法,定义一个user对象,生成set/get方法 缺点:大量冗余简单的代码出现在java对象里面 Lombok安装使用 添加IDE工具对Lombok的支持 点击File-- Settings设置界面,安装Lombok插件,然后重启idea 项目添加依赖进行版本管理 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.16</version> <scope>provided</scope> </dependency> <!--https://mvnrepository.com/arti....
配置JDK11 参考 微服务Docker镜像打包 父项目(xdclass-cloud)添加springboot版本依赖 <properties> <java.version>11</java.version> <maven.compiler.source>11</maven.compiler.source> <maven.compiler.target>11</maven.compiler.target> <spring.boot.version>2.3.3.RELEASE</spring.boot.version> </properties> 每个子模块项目添加依赖(xdclass-api-gateway) //配置文件增加 <properties> <docker.image.prefix>xdclass-cloud</docker.image.prefix> </properties> <build>....
JDK⼀些基础知识科普 OpenJDK和OracleJDK版本区别 OpenJDK是JDK的开放源码版本,以GPL协议的形式发布(General Public License) Oracle JDK采⽤了商业实现 LTS 是啥意思? Long Term Support ⻓期⽀持的版本,如JDK8、JDK11都是属于LTS JDK9 和 JDK10 这两个被称为“功能性的版本”不同, 两者均只提供半年的技术⽀持 甲⻣⽂释出Java的政策,每6个⽉会有⼀个版本的释出,⻓期⽀持版本每三年发布⼀次,根据 后续的发布计划,下⼀个⻓期⽀持版 Java 17 将于2021年发布 8u20、11u20是啥意思? 就是Java的补丁,⽐如JDK8的 8u20版本、8u60版本; java11的 11u20、11u40版本 AlibabaCloud微服务升级JDK11 安装包(课程资料里面,和正常jdk安装没区别) IDEA配置 procject structure 偏好设置-编译版本 maven项目配置 <properties> <java.versi....
单机应用到分布式架构演进 单机架构 优点: 易于测试 便于集成 小型项目友好 缺点: 开发速度慢 启动时间长 依赖庞大 分布式架构 SOA :Service Oriented Architecture 面向服务的架构 其中包含多个服务, 服务之间通过相互依赖最终提供一系列的功能, 一个服务 通常以独立的形式存在与操作系统进程中, 各个服务之间 通过网络调用。 微服务:将一个大的单体应用进行细粒度的服务化拆分,每个拆分出来的服务各自独立打包部署,各个服务之间 通过网络调用。 优点 易开发、理解和维护 独立的部署和启动 缺点 分布式系统-》分布式事务问题 需要管理多个服务-》服务治理 微服务架构常见的核心组件 网关 路由转发 + 过滤器 /api/v1/video/ 视频服务 /api/v1/order/ 订单服务 /api/v1/user/ 用户服务 服务发现注册(注册中心) 调用和被调用方的信息维护 配置中心 管理配置,动态更新 application.properties 链路追踪 分析调用链路耗时 例子:下单-》查询商品服务获取商品价....
官网 https://swagger.io/ 借助Swagger开源和专业工具集,为用户,团队和企业简化API开发。 依赖 在项目中使用Swagger需要springbox swagger2 ui Springboot 集成 Swagger 快速入门 新建springboot项目 mvnrepository.com仓库搜索 springfox-swagger,找到坐标 :Springfox Swagge UI、Springfox Swagger2 <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </dependency> <!-- ht....
什么是Nignx服务器 Nginx介绍 官网:http://nginx.org/ 是一个高性能的[HTTP]和[反向代理]web服务器 Nginx代码完全用[C语言]从头写成 市场上使用情况 据统计,世界上每3个网站中就有一个使用Nginx 为什么要用这个 社区活跃 高性能-支持单机千万级连接 强大的第三方库支持 功能强大:负载均衡、静态文件服务器、支持多种协议https、POP3等等 什么是正向代理服务器和反向代理服务器 正向代理服务器 客户端和目标服务器之间的服务器,客户端向代理发送一个请求指定目标服务器,然后代理向目标服务器请求并获得内容,并返回给客户端,平时说的代理服务器一般是正向代理服务器 核心:用户知道自己访问的目标服务器 场景:跳板机、访问原来无法访问的网站, 比如国外的一些站点 反向代理服务器(Nginx) 客户端和目标服务器之间的服务器,客户端向代理发送一个请求,然后代理向目标服务器请求并获得内容,并返回给客户端。反向代理隐藏了真实的服务器 核心:客户端不知道要访问的目标服务器是哪台服务器,代理会根据一定的策略选择一个真实的服务器进行....