06 2022 档案
摘要:概述 1、Linux 系统内置 Vi 文本编辑器 2、Vim 具有程序编辑的能力,Vi 增强版本,主动以字体颜色辨别语法的正确性,方便程序设计,代码补完、编译错误跳转等功能 模式 1、类型 (1)正常模式:默认模式,直接进入 (2)插入模式:输入 i 或 a 进入编辑模式;Esc 进入正常模式 (3
阅读全文
摘要:Xshell 1、远程登录到 Linux 操作的软件,速度流畅,且完美解决中文乱码问题,目前首选软件 2、安全终端模拟软件,支持 SSH1,SSH2,MicrosoftWindows 平台的 TELNET 协议 3、可以在 Windows 界面下,访问远端不同系统下的服务器,从而远程控制终端 4、远
阅读全文
摘要:概述 1、在 LInux 中,一切皆文件 2、Linux 文件系统是采用级层式的树状目录结构,在此结构上的最上层是根目录 "/",然后在此目录下在创建其他的目录 常用目录 1、/bin (1)bin 为 Binary 缩写 (2)存放着最常使用的命令 2、/sbin (1)s 意思为 Super u
阅读全文
摘要:VMware Workstation Pro 1、安全前:BIOS 开启 CPU 虚拟化支持 2、安装 3、新建虚拟机 (1)选择客户机操作系统、版本 (2)指定最大磁盘容量:建议 20 GB (3)自定义硬件 (4)选择网络连接模式 (5)默认:USB 控制器、声卡、打印机、显示器 4、安装 Ce
阅读全文
摘要:Git 1、配置 Git 忽略文件 (1)目的:被忽略文件与项目的实际功能无关,不参与服务器上部署运行,把它们忽略掉能够屏蔽 IDE 工具之间的差异 (2)创建忽略规则文件:xxx.ignore,自定义前缀名随便起,建议:git.ignore (3)为了便于让 ~/.gitconfig 文件引用,建
阅读全文
摘要:操作 命令 作用 git remote -v 查看当前所有远程地址别名 git remote add 别名 远程地址 创建远程仓库别名 git push 别名/远程地址 本地分支名 推送本地分支上的内容到远程仓库 git clone 远程地址 克隆远程仓库的内容到本地 git pull 别名/远征地
阅读全文
摘要:概述 1、在版本控制过程中,同时推进多个任务,可以为每个任务创建单独分支 2、底层:引用指针 3、优点 (1)同时并行推进多个功能开发,提高开发效率 (2)各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响,失败的分支删除重新开始即可 操作 命令 作用 git branch 分支
阅读全文
摘要:常用命令 命令名称 作用 git config --global user.name 用户名 设置用户签名 git config --global user.email 邮箱 设置用户签名 git init 初始化本地库 git status 查看本地库状态 git add 文件名 添加文件到暂存区
阅读全文
摘要:版本控制 1、一种记录文件内容变化,以便将来查阅特定版本修订情况的系统,可以记录文件修改历史记录,从而让用户能够查看历史版本,方便版本切换 2、集中式版本控制工具 (1)CVS、SVN(Subversion)、VSS 等 (2)单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客
阅读全文
摘要:核心组件 1、SecurityContextHolder:提供对 SecurityContext 的访问 2、SecurityContext:持有 Authentication 对象和其他可能需要的信息 3、AuthenticationManager:其中可以包含多个 AuthenticationP
阅读全文
摘要:基于角色或权限进行访问 1、配置类 @Configuration public class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity ht
阅读全文
摘要:设置用户名、密码 1、配置文件 (1)application.properties #用户名 spring.security.user.name= #密码 spring.security.user.password= (2)application.yaml spring: security: use
阅读全文
摘要:本质:一个过滤器链 1、底层核心过滤器 (1)FilterSecurityInterceptor:一个方法级的权限过滤器,基本位于过滤链的最底部 @Override public void doFilter(ServletRequest request, ServletResponse respon
阅读全文
摘要:概述 1、Spring Security 基于 Spring 框架,一套 Web 安全性的完整的解决方案 2、核心功能 (1)用户认证(Authentication):系统认为用户是否可以登录 (2)用户授权(Authorization):判断用户是否有权限执行某操作 3、特点 (1)Spring
阅读全文
摘要:Spring Boot 启动过程 1、示例 @SpringBootApplication public class MainApplication { public static void main(String[] args) { SpringApplication.run(MainApplica
阅读全文
摘要:Profiles 1、隔离应用程序配置部分,并使其仅在特定环境中可用 2、任何 @Component 或 @Configuration 都可以用 @Profile 标记以限制何时加载 3、默认配置文件 application.yaml,任何时候都会加载 4、指定环境配置文件 application-
阅读全文
摘要:Spring Boot Actuator 1、将应用程序推送到生产环境时,监控和管理应用程序,可以选择使用 HTTP 端点或 JMX 来管理和监视应用程序,审核,运行状况和指标收集也可以自动应用到应用程序 2、引入依赖 <dependency> <groupId>org.springframewor
阅读全文
摘要:JUnit5 1、Spring Boot 2.2.0 版本开始引入 JUnit 5 作为单元测试默认库 2、JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage (1)JUnit Platform:在 JVM 上启动测试框架的基础,不仅支持
阅读全文
摘要:SQL 1、自动配置数据库连接池 (1)带 data 的启动器,都与数据访问相关 (2)导入 JDBC 场景 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-j
阅读全文
摘要:Web 原生组件注入 1、使用嵌入式 Servlet 容器时,可以使用 Spring beans 或扫描 Servlet 组件,从 Servlet 规范中注册 Servlet,Filter、Listener 2、使用Servlet API(建议) (1)@ServletComponentScan(b
阅读全文
摘要:默认规则 1、默认情况下,Spring Boot 提供 /error 处理所有错误的映射 2、对于机器客户端,它将生成JSON响应,其中包含错误,HTTP状态和异常消息的详细信息 3、对于浏览器客户端,响应一个“ whitelabel”错误视图,以 HTML 格式呈现相同的数据 4、要对其进行自定义
阅读全文
摘要:页面设置表单标签 1、示例 <form method="post" action="/upload" enctype="multipart/form-data"> <input type="file" name="files" multiple/><br/> <input type="file" n
阅读全文
摘要:概述 1、拦截器需要实现 HandlerInterceptor 接口,或继承 HandlerlnterceptorAdapter 类(已弃用) 2、作用:SpringMVC 中的拦截器用于拦截控制器方法的执行 3、拦截器相当于原生 Servlet 过滤器(Filter) HandlerInterce
阅读全文
摘要:基本语法 1、表达式 名称 语法 作用 变量取值 ${...} 获取请求域、Session 域、对象等值 选择变量 *{...} 获取上下文对象值 消息 #{...} 获取国际化等值 链接 @{...} 生成链接 片段表达式 ~{...} 引入公共页面片段 2、字面量 (1)文本值:使用 '' 括住
阅读全文
摘要:概述 1、Spring Boot 处理请求,完成后跳转到指定页面的过程 2、视图处理方式 (1)转发 (2)重定向 (3)自定义视图 3、Spring Boot 打包方式为 jar,JSP 不支持在压缩包内编译,需要引入第三方模板引擎技术实现页面渲染 4、Spring Boot 可引入的第三方模板引
阅读全文
摘要:响应 JSON 1、引入 Web 场景启动器 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> (1)自动引入
阅读全文
摘要:RESTful 风格 1、@RequestMapping (1)支持 RESTful 风格:使用 HTTP 请求方式动词来表示对资源的操作 (2)核心 Filter:HiddenHttpMethodFilter (3)派生注解:@GetMapping、@PostMapping、@PutMapping
阅读全文
摘要:Spring MVC 自动配置 1、Spring Boot 为 Spring MVC 提供了自动配置,适用于大多数应用程序 2、自动配置在 Spring 的默认值之上添加了以下功能 (1)包含 ContentNegotiatingViewResolver(内容协商视图解析器)和 BeanNameVi
阅读全文
摘要:文件类型 1、properties 2、yaml YAML 1、标记语言 2、基本语法 (1)key: value (2)冒号之后需要一个空格 (3)大小写敏感 (4)使用缩进表示层级关系 (5)缩进不允许使用 Tab,只允许空格 (6)缩进的空格数不重要,只要相同层级的元素左对齐即可 (7)# 表
阅读全文
摘要:步骤 1、引入场景依赖:选择 Spring Boot / 第三方的 starter 2、查看自动配置 (1)application.properties 配置文件中,debug=true 开启自动配置报告 (2)Negative matches:以下自动配置类不生效);Positive matche
阅读全文
摘要:SpringBoot2 引导加载自动配置类 1、@SpringBootApplication <=> @SpringBootConfiguration + @EnableAutoConfiguration + @ComponentScan 2、@SpringBootConfiguration:底层为
阅读全文
摘要:@Import({DBHelper.class}) @Configuration(proxyBeanMethods = false) public class MyConfig { @Bean("User") public User user01(){ User user = new User("z
阅读全文
摘要:Maven 工程 1、引入依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.7.0</version> </pa
阅读全文
摘要:功能 1、XML 跳转,快速定位对应 Mapper 接口 / 映射文件 2、生成代码 (1)先在 idea 配置 Database 中,配置数据源 (2)选择表,MyBatisX-Generator 3、重置模板 4、JPA 提示:生成增删改查 JPA 不能使用 1、JPA 提示的方式需要根据 Ma
阅读全文
摘要:特性 1、支持数据源分组 ,适用于多种场景:纯粹多库、读写分离、一主多从、混合模式 2、支持数据库敏感配置信息,加密 ENC() 3、支持每个数据库独立初始化表结构 schema 和数据库 database 4、支持无数据源启动,支持懒加载数据源(需要的时候再创建连接) 5、支持自定义注解 ,需继承
阅读全文
摘要:对比 1、逆向工程:通过表,逆向生成实体类、Mapper 接口、映射文件 2、代码生成器:范围更广,控制层、业务层、持久层 引入依赖 <!-- 代码生成器 --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plu
阅读全文
摘要:表中的有些字段值是固定的,可以使用 MyBatis-Plus 的通用枚举来实现 声明通用枚举属性 1、方式一:使用 @EnumValue 注解枚举属性 @Getter public enum GradeEnum { PRIMARY(1, "小学"), SECONDORY(2, "中学"), HIGH
阅读全文
摘要:分页插件 1、MyBatis Plus 自带分页插件,只要配置即可实现分页功能 2、配置插件 (1)Spring xml 方式 <property name="plugins"> <array> <bean class="com.baomidou.mybatisplus.extension.plug
阅读全文
摘要:Wrapper: 条件构造抽象类,最顶端父类 -> AbstractWrapper: 用于查询条件封装,生成 SQL 的 where 条件 1、QueryWrapper:封装查询条件 2、UpdateWrapper:封装 Update 条件 3、AbstractLambdaWrapper: 使用 L
阅读全文
摘要:@TableName 1、表名注解 2、MyBatis-Plus 在确定操作的表时,由 BaseMapper 的泛型决定,即实体类型决定,且默认操作的表名和实体类型的类名一致 (1)问题:实体类类型的类名,和要操作的表的表名不一致 (2)抛出异常:Table "数据库名.表名' doesn't ex
阅读全文
摘要:BaseMapper 1、大多方法中都有 Wrapper 类型的形参,此为条件构造器,可针对于 SQL 语句设置不同的条件,若没有条件,则可以为该形参赋值 null,即查询(删除 / 修改)所有数据 public interface BaseMapper<T> extends Mapper<T> {
阅读全文
摘要:User 表(示例) 1、创建表 CREATE DATABASE `mybatis_plus` /*!40100 DEFAULT CHARACTER SET utf8mb4 */; use `mybatis_plus`; CREATE TABLE `user` ( `id` bigint(20) N
阅读全文
摘要:MyBatis-Plus 1、MyBatis 的增强工具,在 MyBatis 的基础上,只做增强不做改变,为简化开发、提高效率 2、MyBatis-Plus 提供了通用的 mapper 和 service,可以在不编写任何 SQL 语句的情况下,快速的实现对单表的 CRUD、批量、逻辑删除、分页等操
阅读全文
摘要:MyBatis-Spring 1、将 MyBatis 代码无缝地整合到 Spring 中 2、允许 MyBatis 参与到 Spring 的事务管理之中,创建映射器 mapper 和 SqlSession 并注入到 bean 中,以及将 Mybatis 的异常转换为 Spring 的 DataAcc
阅读全文
摘要:添加分页功能 1、添加依赖 <!-- 分页插件 --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.3.0</version> </depen
阅读全文
摘要:正向工程:先创建 Java 实体类,由框架负责根据实体类生成数据库表 逆向工程 1、先创建数据库表,由框架负责根据数据库表 2、反向生成如下资源 (1)Java 实体类 (2)Mapper 接口 (3)Mapper 映射文件 创建逆向工程的步骤 1、添加依赖和插件 (1)依赖和插件中的 MySQL
阅读全文
摘要:一级缓存 1、SqlSession 级别 2、通过同一个 SqlSession 查询的数据会被缓存,下次查询相同的数据,就会从缓存中直接获取,不会从数据库重新访问 3、默认开启 4、一级缓存失效的四种情况 (1)不同的 SqlSession 对应不同的一级缓存 (2)同一个 SqlSession,但
阅读全文
摘要:动态 SQL 1、一种根据特定条件动态拼装 SQL 语句的功能 2、解决拼接 SQL 语句字符串时的问题 if 1、if 标签可通过 test 属性的表达式(即方法实参)进行判断:若表达式的结果为 true,则标签中的内容会执行;反之标签中的内容不会执行 2、在 where 后添加一个恒成立条件,如
阅读全文
摘要:字段名、属性名不一致 1、修改任意一方名称,使两者相同 2、SQL 语句使用 AS 关键字,使字段名的别名和实体类中的属性名保持一致 3、MyBatis 全局设置 <setting name="mapUnderscoreToCamelCase" value="true"/> (1)MyBatis 核
阅读全文