自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(152)
  • 收藏
  • 关注

原创 记一次奇怪的SpringBoot多项目Mapper无法自动载入的错误

Mapper找不到Bean的情况怎么解决

2022-08-15 14:02:50 1186 1

原创 【软件工程】看板

看板的原意为日语中的“广告版”,“招牌”。丰田汽车公司的工程师大野耐一发明了“看板”,以提升制造效率。

2022-07-21 13:56:39 709

原创 【敏捷开发】Scrum框架介绍

Scrum是一个团队管理框架。Scrum应用了“敏捷”的原则,提供了一套具体的工作、实践和角色来实施敏捷概念。下图揭示了Scrum生命周期的各个环节。Scrum的生命周期都是一个固定长度的时间段,通常这个时间段被成为“迭代”,每一轮迭代时长在2-4周。Scrum内的角色分为:产品backlog是一个团队可交付的价值优先级排序表。产品拥有者负责backlog的添加、变更以及有限度排序。最上方的事项永远准备供团队执行。在计划迭代中,团队选择下一轮迭代中执行的backlog的事项。这种选择是基于优先度和可完成性

2022-07-14 16:10:03 1491

原创 敏捷开发介绍

敏捷开发介绍敏捷是一个术语,用于描述软件开发,强调增量交付、团队协作、持续规划和持续学习。敏捷(框架)是一种全面的方法,DevOps生命周期的阶段:规划、开发、交付和运营。他们以明确的指南和原则指定完成任务的方法。什么是敏捷开发?敏捷开发是一个术语,用于描述迭代软件开发。迭代软件开发以执行小增量的方式缩短DevOps的生命周期,这种方式通常被称为冲刺(sprints)。冲刺通常持续1-4周。敏捷开发通常和传统/瀑布模式开发不同,后者提前列出计划并严格按照其进行。再每一次冲刺中交付产品级别的代码,需

2022-03-25 18:19:38 2390 1

原创 Java11引用org.w3c.dom 时报错The package org.w3c.dom is accessible from more than one module: , java.xml

Java11 引用 org.w3c.dom 时报错The package org.w3c.dom is accessible from more than one module: , java.xml 的解决方法运行环境IDE:Eclipse 2021-12JDK:jdk-11.0.14.101-hotspotMaven项目原因在Java9或者更高版本中,相同的包名不能在多个模组之中,而org.w3c.dom包已经包含在系统的库中,所以有其他依赖库中包含org.w3c.dom时会报出这个错误。

2022-03-22 17:18:42 4698

原创 Spring Boot 缓存

Spring Boot 缓存缓存缓存是一种提高应用程序性能的方式。它储存在应用和持久数据库之间。高速缓存储存之前使用过的数据,以便尽可能减少数据库的调用。优点将通常会重复使用的数据缓存是一个非常有效的提高应用程序速度的方法。我们将频繁请求的数据存在内存中,以避免在用户每次需要数据时都要调用高消耗的服务后端。来自内存的数据访问确实比来自数据库、文件系统等存储的数据访问或其他服务调用要快。缓存和缓冲区之间的区别缓存缓冲区使用最近使用方案使用先进先出方案长寿命短寿命

2022-01-21 13:47:30 1598

原创 Spring Boot Session 会话管理

Spring Boot Session会话管理是用于安全控制一个用户或者实体对基于网络的应用/服务的多个请求的过程。HTTP用于网站和浏览器之间的交流,而会话则是同一个用户创建的一系列的HTTP请求和事务。会话管理的实现规定了用户、网络应用之间共享和持续交换会话ID的过程。由于HTTP协议的无状态,为了跟踪客户的行为,我们需要会话管理。会话管理是一个网络容器框架,用于为特定的用户储存会话数据。我们可以通过以下方法处理会话:Cookies网站发送的数据被储存在用户的本地浏览器中隐藏的表

2022-01-20 18:25:23 3893

原创 【Spring Boot】Lombok,以及 Data 注解的一些说明

LombokLombok 用于减少模块化代码,它可以自动生成 getters/setters 等。你只需要在函数前加上 @Data 注解。import lombok.Data;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;@Entity@Datapubli

2022-01-20 11:48:10 820

原创 DAO、DTO、Service的概念

DAO、DTO、Service的概念DTO(Data Transfer Object)DTO是各种流程中承载数据的对象。由于远端取数据时消耗大,最好减少请求的调用数量。因此,需创建一个 Data Transfer Object 包含一次请求中所有需要的数据。这个对象需要是可序列化的,以在各种连接中都能被传递。通常在服务器端使用一个汇编器,在DTO和域对象之间传输数据。DTO对象中,通常只有字段和getter、setter。DAO(Data Access Object)一个DAO抽象并封装了对数据源的

2022-01-17 12:27:08 1070

原创 数据库中的事务隔离等级 Transaction Isolation Level

数据库中的事务隔离等级事务隔离等级用于决定一个事务和其他事务中发生地数据修改的隔离程度。这个概念属于数据库事务的ACID属性。ACID为原子性、一致性、隔离性和持久性。(Atomicity, Consistency, Isolation, Durability)错读SQL92标准中定义了三种错读的场景。事务1(Transaction 1/T1)读取事务2(Transaction 2/T2)有可能已经改变的数据时:当读取一个已被修改但没有提交的数据时,发生脏读T2修改了一行数据但未提交时,T

2022-01-12 14:03:23 566

原创 【MyBatis】 动态SQL使用手册

MyBatis 动态SQL使用手册元素种类:ifchoose (when, otherwise)trim (where, set)foreachIf根据条件包含where子句:<select id="findActiveBlogWithTitleLike" resultType="Blog"> SELECT * FROM BLOG WHERE state = ‘ACTIVE’ <if test="title != null"> AND

2022-01-07 15:30:15 532

原创 【MyBatis】XML映射文件参考手册

MyBatis XML映射文件参考手册文章目录MyBatis XML映射文件参考手册顶级元素一览select预处理语句概念(PreparedStatement)select元素的属性一览insert,update 和 deleteinsert,Update, Delete元素的属性一览自动生成主键多行插入sql参数字符串替换(更多详细请看上篇博文)结果映射高级结果映射结果映射构造方法关联关联的嵌套Select查询关联的嵌套结果映射鉴别器缓存MyBatis的语句映射可以相比JDBC省下95%的代码。顶级

2022-01-07 13:48:26 686

原创 MyBatis中 #{} 和 ${} 的区别

MyBatis中 #{} 和 ${} 的区别在MyBatis中,我们通常使用 #{} 参数语法,这种情况下,MyBatis会创建 PreparedStatement 参数占位符,并通过占位符安全地设置参数。这种语法更安全、迅速,是首选的做法,但是如果有时候想在SQL语句中直接插入一个不转义的字符串,则需要使用 ${} 语法。二者区别#会对输入的值做字符串化处理,自动用双引号包裹后生成语句。例如,SQL语句为where user name = #{user name},如果传入值为111,则生成的语

2022-01-06 11:28:57 366

原创 MyBatis入门简介

MyBatis入门简介通过XML构建SqlSessionFactory每个MyBatis应用都基于SSF(SqlSessionFactory)的实例,可以通过SSF Builder获得。SSF Builder则可以通过XML配置文件或者配置类构建一个SSF。通过XML文件构建SSF非常方便,推荐使用classpath资源来配置,你也可以通过InputStream构建实例,比如通过文件路径或者一个 file:// URL。MyBatis包含了一个工具类Resources,包含帮助从classpath和其

2022-01-05 15:52:49 508 4

原创 Spring Boot 中使用 MyBatis-Spring-Boot-Starter

Spring Boot 中使用 MyBatis-Spring-Boot-Starter本文将使用 MyBatis-Spring-Boot-Starter 在Spring Boot中建立 Mybatis 应用。本文将实现:构建一个独立应用将JDBC模板代码减少到最小值(接近0)更少的XML配置版本要求MyBatis-Spring-Boot-StarterMyBatis-SpringSpring BootJava2.22.0(2.0.6以上解锁所有功能)2.5或以上

2022-01-04 17:42:56 10672

原创 【Android】 开发入门2 核心构件概念简介

Android 核心构件概念简介一个安卓 组件 是指一块有明确定义生命周期的代码,例如活动(Activity),接收器(Receiver),服务(Service)等等。安卓的核心构件或者说基本组件时活动(activities),视图(views),意图(intents),服务(services),内容提供者(content providers),片段(fragments)以及构造文件(AndroidManifest.xml)。Activity一个activity代表单个屏幕画面的类。View一个

2021-12-30 12:44:42 1088 2

原创 thymeleaf + Spring Boot 的多语言教程

thymeleaf + Spring Boot 的多语言教程本文介绍使用thymeleaf的Spring Boot应用的多语言处理方法Maven 依赖库将thymeleaf加入pom.xml<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> &lt

2021-12-27 18:18:46 704

原创 【Android】 开发入门 1 概览,架构

Android开发 入门 1 概览,架构Android是一系列软件、移动设备(例如平板电脑、手提电脑、手机、电子书阅读器、机顶盒)的集合。它包含了基于linux的操作系统、中间件和核心移动应用。它可以被看做移动操作系统,但不止于此,它目前在多种设备中应用如手机、平板、电视等)安卓的特点开源任何人都可以自定义安卓平台有海量应用可供选择提供了许多有趣的功能,如天气详情、开屏、实时RSS推送提供信息服务(短信等)、网络浏览器、储存(SQLite)、连接(GSM、CDMA、蓝牙、Wi-Fi)、媒

2021-12-02 11:45:04 1771

原创 【Android】安卓开发中的MVP架构模式与应用实例

安卓开发中的MVP架构模式与实例文章目录安卓开发中的MVP架构模式与实例MVC架构模式的弊端MVP架构模式的特点MVP架构的关键点MVP架构的安卓应用实例创建新的项目修改String.xml文件activity_main.xml文件定义Contract接口Model类创建Presenter类在MainActivity文件中定义View的功能MVP架构模式的优略势优点缺点在入门安卓开发的阶段,初学者经常会把所有业务逻辑都挤到MainActivity类中。这种做法最终会导致Activity的UI与应用数据处

2021-11-29 12:06:26 1146

原创 10个重要Android Studio的快捷键

10个重要Android Studio的快捷键Ctrl + E 最近打开的文件一览一个最近打开的文件一栏列表会以pop-up的形式弹出Ctrl + D 复制光标当前行将光标所在行复制Shift+ Delete 删除光标当前行将光标所在行删除Ctrl + Q 快速文档检索在文档内快速检索选中内容Ctrl + Alt + L 重新格式化代码文件重新格式化代码Ctrl + O Override方法Override方法Ctrl + +/- 折叠、扩展当前代码块

2021-11-26 14:27:48 1556

原创 【Spring Boot】STS4(eclipse整合版)实用快捷键

STS4(eclipse整合版)实用快捷键删除当前行 Ctrl+ D重命名 Alt + Shift + R跳转行 Ctrl+ L当前行下方插入空白行 Ctrl+ Enter当前行上方插入空白行 Shift + Enter单行注释toggle Ctrl + Shift + C当前行向下复制 Ctrl + Alt + ↓当前行向上复制 Ctrl + Alt + ↑整理导入的库 Ctrl + Shift + O生成getter和setter Alt + Shift + S, R工作空间的

2021-11-24 13:39:52 1209

原创 Android应用直连SQL Server VS. 通过webservice调用SQL Server

Android应用直连SQL Server VS. 通过webservice调用SQL Server文章目录Android应用直连SQL Server VS. 通过webservice调用SQL Server直连数据库示例代码通过webserviceRegisterUser class二者的比较与选择直连数据库在安卓应用(这次开发使用Java语言)中通过Java标准API或者基于标准库封装的第三方库与数据库进行数据交互。手机端和服务器端要连接同一网路(或同一网域),如果服务器部署在云服务器供应商上,手

2021-11-23 18:34:27 2966

原创 【Java】 JDBC简介

JDBC简介简介JDBC 全称 Java Database Connectivity,是标准Java API,以帮助Java编程语言和各种数据库之间的连接。JDBC库提供下述任务的API,它们通常与数据库的使用有关连接一个数据库创建一个SQL、MySQL语句执行SQL、MySQL检索查看、修改结果记录从根本上说,JDBC是一种规范,它提供了一套完整的接口,允许对底层数据库进行便携式访问。Java可以用来编写不同类型的可执行文件:Java应用Java小程序Java Servlets

2021-11-23 14:26:41 947

原创 【SpringBoot】linkTo和methodOn方法丢失的解决方法

在Spring RESTfull API tutorial中需要导入Spring HATEOAS,但是示例代码中的methodOn和linkTo方法会提示找不到。原因是ControllerLinkBuilder的相应方法已经被废弃了。解决方法在文件头导入静态方法:import static org.springframework.hateoas.mvc.ControllerLinkBuilder.linkTo;import static org.springframework.hateoas.mvc

2021-11-19 11:04:44 488

原创 【SpringBoot】调式Rest服务时报错Content type ‘application/x-www-form-urlencoded;charset=UTF-8‘ not supported

SpringBoot 调式Rest服务时报错Content type ‘application/x-www-form-urlencoded;charset=UTF-8’ not supported在SpringBoot的Rest服务教程中,有一步是使用Post方法新建一个Employee记录:curl -X POST localhost:8080/employees -H 'Content-type:application/json' -d '{"name": "Samwise Gamgee", "ro

2021-11-18 18:06:30 681

原创 【Gradle】Gradle介绍

Gradle介绍概览Gradle是一个开源的自动化构建工具,其设计足够灵活,可以构建几乎所有类型的软件。下述为一些对其重要功能的高层次概述:高性能​ Gradle只运行输入输出有变化的任务以避免运行不必要的任务。​ 你也可以使用构建缓存以便实现重复使用上一次的任务输出,甚至是不同机器的任务输出(使用共享构建缓存)JVM基底​ Gradle在JVM上运行,因此你需要有JDK才能使用。对于熟悉Java平台的用户来说,可以在构建逻辑中使用标准Java APIs,例如自定义任务类型和plug-

2021-11-18 14:21:33 339

原创 【Java】 JPA介绍

JPA介绍JPA(Java Persistence API)是一系列类、方法,用于将大量数据储持久地存到数据库中。企业级应用中,通过存储和检索大量数据来执行数据库操作。使用JPA,会使与数据库交互的负担大大减少。它在对象模型(Java Objects)和关系模型(数据库程序)之间架起一座桥梁。关系模型和对象模型之间的不匹配关系对象以表格的形式表示,而对象模型是以对象格式的相互关系来表示的。在从关系模型中存储和检索一个对象模型时,往往会由于以下的原因发生不匹配:颗粒度:对象关系往往有更细的颗粒度

2021-11-17 17:10:20 2381

原创 【Android】安装Android Studio遇到Unable to access Android SDK add-on list的错误导致无法选择SDK

安装Android Studio遇到Unable to access Android SDK add-on list的错误导致无法选择SDK现象在安装Android Studio之后,第一次打开的时候提示Unable to access Android SDK add-on list,并且在接下来的勾选SDK中没有可勾选的SDK。解决方法重新进入Android Studio,在出现Unable to access Android SDK add-on list的时候,选择 set up proxy

2021-11-15 16:25:40 3236

原创 【JavaScript】HTML页面中取代锚点自动滑动页面的一种方式 scrollIntoView()

HTML页面中取代锚点自动滑动页面的一种方式scrollIntoView()文章目录HTML页面中取代锚点自动滑动页面的一种方式scrollIntoView()定义BooleanObjectbehaviorblockinline代码示例在用户界面中,经常使用锚点帮助用户跳转到页面的某个特定位置。锚点基于超链接的方式,在用户点击事件之后滑动页面。如果你觉得添加锚点和链接元素比较麻烦和不美观,可以尝试组件的scrollIntoView()方法。定义element.scrollIntoView();el

2021-10-20 10:23:02 279

原创 【Salesforce】VSCode拉取代码的时候提示Error deploying or retrieving source解决方法

VSCode拉取代码的时候提示Error deploying or retrieving source解决方法在执行SFDX: Retrieve This Source from Org的时候,提示如下信息:Error deploying or retrieving source: The file or directory that you tried to deploy or retrieve isn’t in a package directory that’s specified in you

2021-10-11 16:08:11 809

原创 Test类中的@testSetup标注 测试环境数据准备

文章目录Test类中的@testSetup标注格式例子注意事项Test类中的@testSetup标注使用testSetup标注方法创建测试记录,并且在所有其他测试类方法中访问、使用这些记录。这样做可以为你省下重复创建测试数据的时间。如果一个测试类有testSetup方法,那么执行测试类时会首先执行testSetup方法,每个测试方法执行结束后,回将setup中的数据回滚到初始值。格式使用@testSetup标注方法@testSetup static void methodName() {}

2021-10-11 10:52:07 409

原创 【Apex】VSCode中显示测试类未覆盖到的Apex代码

在VSCode中显示测试类未覆盖到的Apex代码运行测试代码。点击最下方sidebar左侧的三横栏(Highlight Apex Code Coverage)。绿色的为覆盖到的代码,红色的为未覆盖代码。

2021-10-08 10:40:30 215

原创 【Salesforce】对象设置中的搜索布局选项消失的解决方法

【Salesforce】对象设置中的搜索布局选项消失的解决方法场景搜索布局用于设置List View中最近查看画面显示字段,有些情况下,我们新建了对象但是在对象的设置中找不到搜索布局选项。解决方法造成搜索布局选项消失的原因是该对象没有选项卡。因此,我们首先需要为该对象添加选项卡。在设置页面中快速搜索选项卡(位于用户界面类别中)点击新建,选择没有搜索布局的对象,选择一个样式,保存。在添加好选项卡之后,搜索布局的选项就自己出来了。...

2021-09-26 11:20:52 220

原创 【Salesforce】快速清除所有测试数据的方法,截断(Truncate)对象

【Salesforce】快速清除所有测试数据的方法,截断(Truncate)对象文章目录【Salesforce】快速清除所有测试数据的方法,截断(Truncate)对象场景截断功能简介使用方式打开截断权限前提条件进行截断场景在开发测试过程中,某一个环境下的测试数据总会水涨船高。或者有些情况下,测试大量数据(百万级)的备份、导出的时候,需要插入巨量数据并且清除。如果单纯使用DML,会触发系统限制。如果使用future类Job的方式删除,也会花费大量时间。本文介绍一种salesforce的标准功能【截断】

2021-09-26 11:07:09 500

原创 参照User.UserPreferencesReceiveNotificationsAsDelegatedApprover属性的时候报错:Variable does not exist的解决方案

【Salesforce】参照User.UserPreferencesReceiveNotificationsAsDelegatedApprover属性的时候报错:Variable does not exist的解决方案场景在Apex代码中参照User对象中的UserPreferencesReceiveNotificationsAsDelegatedApprover属性来确定是否接收承认申请邮件时,报错Variable does not exist。解释首先,这个有着冗长的名字的属性,是用来提示这个用

2021-09-24 18:13:46 692

原创 【Salesforce】某对象没有检索视图

【Salesforce】某对象没有检索视图场景新建对象之后,对象管理器内没有检索视图选项解决方案新建一个该对象的选项卡即可。

2021-09-09 16:01:21 90

原创 【React】版本18 代码遨游(十一)任务调度入口函数

任务调度入口函数文章目录任务调度入口函数*performSyncWorkOnRoot*(root)*performConcurrentWorkOnRoot*(root, didTimeout)*flushSyncCallbacks*()*performUnitOfWork*(unitOfWork: Fiber)*completeUnitOfWork*(unitOfWork: Fiber)*renderRootSync*(root: FiberRoot, lanes: Lanes)*workLoopSync

2021-08-30 11:15:30 329

原创 【React】版本18 代码遨游(十)调度器 scheduler

调度器文章目录调度器import内容变量方法*advanceTimers*(currentTime)*flushWork*(hasTimeRemaining, initialTime)*workLoop*(hasTimeRemaining, initialTime)*requestHostTimeout*(callback, ms)*handleTimeout*(currentTime)*unstable_runWithPriority*(priorityLevel, eventHandler)*unst

2021-08-25 15:24:35 372

原创 【React】版本18 代码遨游(九)Context

Context在更新组件实例的时候,我们需要判断props、state、context等内容变化,本文查看context源码。位置:packages\react\src\ReactContext.jsimport {REACT_PROVIDER_TYPE, REACT_CONTEXT_TYPE} from 'shared/ReactSymbols';// 导入Context类型值import type {ReactContext} from 'shared/ReactTypes';expo

2021-08-24 18:28:16 273

原创 【React】版本18 代码遨游(八)ReactSymbols

ReactSymbols在ReactSymbols中,React定义了一些全局的Symbol变量,利用ES2016 Symbol的特性来定义各种React类型以供框架使用。// 如果在旧浏览器中无法使用Symbol或者其他兜底代码,则使用16进制来规定各种ReactTypeexport let REACT_ELEMENT_TYPE = 0xeac7;export let REACT_PORTAL_TYPE = 0xeaca;export let REACT_FRAGMENT_TYPE = 0xea

2021-08-24 17:41:30 219

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除