自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(90)
  • 资源 (1)
  • 收藏
  • 关注

原创 Spring中的AOP(理解、在事务中的应用)

Spring中的AOPAOP(Aspect Oriented Programming)面向切面编程。通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术AOP是OOP(面向对象编程)的补充。AOP可以将我们重复的代码抽取出来,在需要执行的时候,使用动态代理技术,在不修改源代码的基础上,对我们的方法进行增强通俗的讲:将通用的功能(权限、日志、事务···)封装起来,作为一个切面,在类的执行中,找一个合适的时机,将我们的切面切入到执行流程中。AOP中的名词和通知SpringAOP的

2020-12-19 23:11:13 2721 1

原创 动态代理(JDK的Proxy、CGLib的实现)

首先发现问题,然后解决问题,最后优化解决办法从一个简单的转账业务来带入到这个问题中来转出账户中钱数会减少,转入账户钱会相应增加如果在这个过程中出现异常,就会发生问题POJO:@Datapublic class Account { private Integer id; private String name; private Double money;}Mapper:public interface IAccountMapper { @Update(

2020-12-13 23:42:20 294

原创 JavaScript简介(认识、入门)

认识JavaScriptJavaScript是一种属于网络的脚本语言,已经被广泛用于web应用开发,常来为网页添加各种各样的动态功能,为用户提供更流畅的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能。HTML定义了网页的内容CSS渲染了网页的布局和样式JavaScript制定了网页的行为JavaScript是写给浏览器的一门脚本语言,目前所有的浏览器都支持JavaScriptJavaScript是轻量级的一门面向对象的编程语言不得不提的一件事:JavaScri

2020-11-08 00:12:02 1821 6

原创 过滤器 Filter (快速理解)

过滤器Filterweb开发中,通过Filter可以对web服务器中的所有web资源进行拦截和处理,从而实现一些特殊的需求应用场景:非法访问过滤(比如:没有登录就不能访问网站上的资源)将请求响应进行统一编码过滤敏感词Filter简述JavaWeb三大组件(Servlet、Filter、Listener)之一。Servlet API中提供了一个Filter接口,我们编写一个类实现这个接口,那么这个类就是一个过滤器。我们通过这个过滤器技术就可以实现——客户端浏览器访问目标资源时,会先经过我

2020-10-26 21:42:09 549 1

原创 线程、多线程入门

多线程(一)平时我们写的程序其实都是单线程的,它们都是从main方法开始一条顺序向下执行的。多线程其实就是使程序可以分为好几个路径去执行代码,每个线程之间互不干扰。Java语言提供了非常优秀的多线程支持,程序可以非常简单的方式来启动多线程。进程与线程学习多线程之前我们要了解程序、线程和进程的关系进程几乎所有的操作系统都支持进程的概念,每一个运行中的任务,都对应一个进程,进程是处于运行过程中的程序,并且具有一定独立功能,进程是操作系统进行资源分配和调度的一个独立单位。进程中包含着多个多运行中的线程

2020-09-20 18:28:15 159

原创 Oracle查询锁定记录及删除会话。解决update操作失败、超时等情况

【代码】Oracle查询锁定记录及删除会话。解决update操作失败、超时等情况。

2023-12-13 17:05:32 352

原创 数据库sql 根据身份证计算年龄段mysql、oracle

oracle只是年份相减,不够精确。mysql通过函数可以精确到日。

2023-07-05 17:08:19 3803 2

原创 JWT 弊端解决思路(主动过期\权限更新)

JWT 弊端解决思路(主动过期\权限更新)

2022-08-26 16:19:55 2849 1

原创 can not get cluster name in registry config ‘service.vgroupMapping.xxx-seata-service-group‘

can not get cluster name in registry config ‘service.vgroupMapping.xxx-seata-service-group’, please make sure registry config correct无法在注册表配置的service.vgroupMapping中获取集群名称。xxx-seata-service-group ',请确保注册表配置正确该案例使用nacos作为seata服务的配置中心和注册中心首先服务的配置文件应该没有指定

2022-01-18 15:14:33 15375 6

原创 SpringMVC简介、简单使用

SpringMVC简介MVC设计模式Model View Controller,模型视图控制器,是一种用于设计创建web应用程序表现层的模式,MVC中每一个部分各司其职Model:数据模型,作用一般情况用于封装数据View:jsp或html,用来展示数据Controller:处理用户的请求SpringMVCSpring为表现层提供了基于MVC设计理念的优秀Web框架SpringMVC中的组件前端控制器 DispatcherServlet它是整个流程的控制中心处理器映射器 H

2021-01-31 23:42:26 182

原创 Centos增加内存,配置swap交换空间

Centos配置swap交换空间(增加内存)在使用Centos云服务器部署项目时,因为项目使用到的东西比较多,所以出现了内存不够用的情况,所以导致整个项目在部署运行中出现了很多问题,在这里找到了一个简单的解决办法。使用swap将硬盘当做内存使用,解决内存容量不足的问题查看内存使用的状态:free -h此时的Swap为0创建一个分区文件(bs每块的大小,count文件有多少块,这里的swap就是2G)dd if=/dev/zero of=/opt/swap bs=1M count=204

2021-01-12 19:40:52 2672

原创 Servlet Config和Servlet Context

ServletConfig:代表一个Servlet的域ServletContext:代表整个web应用程序的域ServletConfig代表一个Servlet初始化参数的对象,容器在初始化Servlet时通过它传递信息给Servletweb容器会为每一个Servlet都创建一个ServletConfig对象它封装了Servlet的配置信息,只有该Servlet自身可以访问到(一个Servlet的ServletConfig不能被另一个Servlet访问到)首先我们可以在web.xml文件中.

2021-01-10 11:50:20 525

原创 分布式架构理论(CAP和注册中心的选择)

分布式架构理论微服务微服务就是一个很小的服务,小到一个服务就只完成一个功能、只做一件事。但是这个服务可以独立部署运行,每个服务之间通过RPC(远程调用)来相互交互,每一个微服务都可以有一个小团队来完成开发、测试、部署、上线、维护它的生命周期。微服务架构在做架构设计时,先做逻辑架构、在做物理架构,当你拿到需求后,估算过最大用户量和并发量后,计算每一个应用服务器能否满足需求,如果用户量只有几百人的小应用,单体应用就可以搞定,即把所有应用部署在一个应用服务器上;如果是很大的用户量,且一些功能会被频繁、大量

2021-01-09 17:08:17 277

原创 Spring中的事务控制

Spring中的事务控制Spring中提供了分层设计的业务层事务处理解决方案Spring中的事务控制也是基于AOP的,它既可以使用编程的方式实现,也可以使用配置的方式实现所谓事务控制,就是根据我们给定的事务规则来执行提交或回滚操作。在这里再说一次事务的四个特性:ACID原子性:(Atomicity)事务是一个不可分割的整体,要么全部完成,要么全部失败一致性:(Consistency)一个事务的完成前后,系统总量仍要保持一致隔离性:(lsolation)多个事务处理同一个数据时,每个事务都

2021-01-03 17:22:38 316

原创 Spring中的DI(依赖注入)使用详解

Spring中的DI(依赖注入)什么时候需要依赖注入:当一个被Spring管理的对象,存在另一个对象(依赖于另一个对象)时,就需要使用依赖注入,来完成对象之间的依赖关系我们的程序在编写时,通过控制反转把对象创建的任务交给了Spring, 对象之间一定会有相互调用的情况,既然不使用new对象的方式,我们就只能让Spring来帮我们来完成这个操作。依赖注入其实就是属性注入的一种特殊类型,不同点就是:属性注入的是String、int、List、Set、Array···这种参数,使用value而依

2020-11-29 23:53:02 2269

原创 Spring中IOC的使用(控制反转)

Spring中IOC的使用IOC(Inverse Of Control)控制反转,它是一种思想,作用就是为了消减我们代码之间的耦合性。它的实现方法就是利用了工厂设计模式。把创建对象的代码从具体的类中剥离出来,交给工厂来完成,从而降低了代码之间的依赖关系在配置IOC时,spring提供了两个方式,我们先使用XML文件的配置方式来做展开,导入需要的依赖包spring-context<!-- https://mvnrepository.com/artifact/org.springframewo

2020-11-28 23:48:35 382

原创 Spring中IOC(控制反转)的理解

Spring中的IOC(控制反转)先不讲IOC,我们先通过发现问题,然后使用工厂模式解决问题,最后到IOC示例:分析jdbc的两种注册驱动的方式,比较两种方式那种更适合实际的开发DriverManager.registerDriver(new com.mysql.cj.jdbc.Driver);Class.forName("com.mysql.cj.jdbc.Driver");第一种方式,我们为了注册驱动,new了一个Driver实例第二种方式,利用反射技术,通过一个字符串创建了一个

2020-11-27 23:25:39 1803

原创 SpringMVC实现文件上传功能(跨服上传、本地上传)

使用文件上传功能我们要借助form表单,固定设置:​ 表单中的请求方式一定是post、参数enctype是:multipart/form-data还需要借助两个依赖:commons-fileupload、commons-io一、实现本地上传引入依赖: <!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload --> <dependency>.

2020-11-26 23:03:48 440 1

原创 JSON简介(java中的json库使用)

JSON数据格式JSON(JavaScript Object Notation)js对象标记语言,是一种轻量级的数据交换格式,他是基于ECMAScript的一个子集,采用完全独立于编程语言的文本格式来存储表示数据,简洁和清晰的层次结构使得JSON成为理想的数据交换语言,易于人阅读和编写,同样也易于机器的解析和生成,并且有效的提升网络传输的效率官网:https://www.json.org/json-zh.htmlJSON的三种数据格式:类型语法说明对象类型{key1:va

2020-11-21 11:22:10 707

原创 jQuery入门(简介、简单使用)

jQuery简介jQuery是一个快速、简洁的JavaScript工具库。jQuery的宗旨是“write less,do more”,写更少的代码,做更多的事情。jQuery封装了JavaScript常用的功能代码,提供了一套易于使用的api,可以跨多种浏览器工作,使HTML文档的遍历、事件处理、动画设计和Ajax交互等操作变得更加简单jQuery中的版本1.x.x:兼容IE678,使用最为广泛的,官方只做bug维护,功能不再新增。因此对一般项目来说使用1版本就够了。最终版本1.12.42.

2020-11-17 22:27:57 209

原创 JavaScript简单DOM案例(全选、不选、反选)

JavaScript简单DOM案例(全选、不选、反选)准备一个商品列表,每个商品上有一个复选框,点击不同按钮实现全选、全不选、反选效果<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><table width="800px" align="c

2020-11-16 23:20:05 639

原创 DOM(文档对象模型)

DOM(Document Object Model)文档对象模型。定义了访问和处理HTML文档的标准方法DOM把HTML文档呈现为带有元素、属性和文本的树形结构(节点树)如果我们需要改变页面的某个元素,就需要获得对HTML文档中所有元素进行访问的入口,访问入口通过文档对象模型即可获得。DOM提供了对HTML元素进行添加、移动、改变或移除的方法和属性DOM对象的API浏览器加载整个HTML文档形成一个document对象,使用document对象可以访问和操作HTML文档中所有的元素docum

2020-11-15 19:48:18 151

原创 jQuery实现Ajax异步请求的三种方式

jQuery实现AjaxjQuery框架对js原生的ajax进行了封装,封装后的ajax相比原生就变的更加简洁方便,而且功能更加丰富常用的三种ajax实现的方法:get:$.get(url,[data],[callback],[type])post:$.get(url,[data],[callback],[type])ajax:$.ajax({setings})url:请求的路径data:发送的数据,必须是key=value的形式,之间用&分隔callback:回调函数,处理

2020-11-15 18:44:35 2345

原创 Ajax(JavaScript原生Ajax实现)

Ajaxajax 的全称是Asynchronous JavaScript and XML(异步的JavaScript 和 XML),其中,Asynchronous 是 异步 的意思,它有别于传统web开发中采用的同步的方式。使用Ajax异步请求可以实现页面无刷新的效果,在不重新加载整个网页的情况下更新页面中的一些内容异步请求:发送一个请求不需要等待响应返回,发送请求后直接去做其他的事情,等响应返回了,再去执行响应后需要执行的相关代码如果是同步方式发送请求,请求发送后,在响应返回之前什么都不能

2020-11-15 18:34:40 179

原创 Vue中使用axios实现Ajax

axiosvue本身是不支持发送ajax请求的,所以我们可以使用第三方的插件来完成的我们的需求vue-resource:vue.js的插件,已不再维护,不建议使用axios:轻量级的库,任何地方都可以使用,很多框架都喜欢用它官网介绍:Axios是一个基于promise的HTTP库,可以用在浏览器和node.js中下载axios.js:https://cdnjs.cloudflare.com/ajax/libs/axios/0.21.0/axios.js右键另存为本章简单的使用axios

2020-11-15 00:51:39 240

原创 Vue的生命周期

Vue的生命周期每一个Vue应用都是通过Vue函数创建一个新的Vue实例开始的每一个Vue实例在被创建时都要经过一系列的初始化过程——如:设置数据监听、编译模版、将Vue实例挂载到DOM(html标签元素)上,并且数据发生变化DOM也会随之更新,等等操作。同时在这个过程中也会运行一些叫做生命周期钩子的函数,有了这些函数,我们就能在不同阶段、不同的时间点执行一些我们想要的操作官网图片,自己翻译的。。beforeCreate实例初始化后,被调用的方法数据观测 (data observer)

2020-11-13 22:32:19 94

原创 Vue 指令(常用)

Vue框架提供的语法,扩展了html标签的功能,大部分指令的值是js表达式,用于取代DOM操作v-text和v-html类似js中的innerText和innerHTMLv-text更新标签中的内容,不解析内容中的html标签v-html更新标签中的内容,解析内容中的html标签和插值表达式的区别:插值表达式更新该标签元素中的局部内容,而v-text更新的是全部内容<div id="box1"> <p>{{info}} 段落一</p> .

2020-11-12 20:56:31 102

原创 初识 Vue(快速入门)

vue.js是一个优秀的前端JavaScript框架随着项目场景的复杂化和综合化,传统模式(html(jsp)+jquery)已经无法满足需求,就出现了一些前端框架,他们满足了企业的需求,更加易用、灵活、高效三大主流的前端框架:angular(最早的前端框架)react(上手有些难度,设计的比较优秀)vue(最简单,最容易上手,中国人开发的,现在很火的一个前端框架)Vue最大程度上的解放了DOM操作,而且能够完成单页web项目开发Vue的核心特征:双向数据绑定通过指令扩展HTML,通

2020-11-11 11:31:40 141

原创 JavaScript BOM

BOM(Browser Object Model)浏览器对象模型。将浏览器对象抽象成对象模型。JavaScript中的BOM对象window:表示浏览器中打开的窗口location:表示有关当前URL的信息,用于操作浏览器的地址栏screen:表示客户端显示屏幕的信息navigator:包含浏览器的信息history:包含用户访问过的URL,其实就是浏览器的历史记录window对象所有浏览器都支持window对象,它表示整个浏览器打开的整个窗口消息框三种消息框:alert(“消息

2020-11-08 22:53:01 162 1

原创 JavaScript中的内置对象

JavaScript中的内置对象JavaScript提供多个内置对象,比如String、Date、Array等,对象只是一种带有属性和方法的特殊数据类型内置对象string代表字符串常用属性:length:返回字符串的长度常用方法:方法说明charAt(index)返回指定索引处的字符indexOf(x)返回指定字符第一次出现的位置,没有则返回-1substring(startIndex,endIndex)截取字符串,从startIndex开始到e

2020-11-08 14:01:51 225 1

原创 MyBatis缓存 (一级缓存、二级缓存)

MyBatis缓存几乎所有的ORM框架都提供了缓存机制。MyBatis框架包含了一个非常强大的缓存特征,它可以很方便的配置使用。实际开发中,缓存可以极大的提升查询的效率MyBatis中的有两个缓存,一级缓存和二级缓存。默认情况下,只有一级缓存是开启的,一级缓存是SqlSession级别的缓存,二级缓存需要手动开启和配置,他是namespace级别的缓存MyBatis中也提供了缓存接口,我们也可以整合第三方的二级缓存插件来使用,提高扩展性一级缓存一级缓存是SqlSession级别的缓存,共享范围就

2020-11-05 22:19:06 263

原创 MyBatis 延迟加载(懒加载)

MyBatis延迟加载当我们进行多表查询时,会牵扯到多张表,如果我们查询之后,并不一定使用结果中的全部字段,可能只会用到其中几个字段,这时,如果我们只需要一两个字段但是每次的查询都是多表查询一定会很影响效率,所以的我们可以使用延迟加载的方案立即加载:不管用不用,只要一调用方法,马上发起查询延迟加载:在真正使用数据的时候才发起查询,不用的时候不查询关联的数据,又叫做按需加载(懒加载)延迟加载又根据加载时机分为侵入式延迟和深度延迟侵入式延迟加载执行对主加载对象的查询时,不会执行对关联对象的查询。但

2020-11-04 23:18:40 382

原创 MyBatis 多表关联查询(手动映射)

MyBatis多表关联查询如果使用多表查询,那么表之间一定有这三种关系:一对一,比如一个人有且只有一个身份证号一对多,比如一个人可以有多个银行卡多对多,比如一个学生可以选择多个课程,一个课程也可以被多个学生选择使用MyBatis实现多表查询,根据表与表之间的关系不同,具体实现就会有些不同首先分析问题:当我们进行多表查询时,返回的结果集一定是两个表中的数据,那么我们总不能再准备一个(包含两个表中所有字段的)POJO来映射这次返回的结果。这时,我们可以考虑让第一个表的POJO包含第二个表的

2020-11-03 22:49:26 3452 1

原创 MyBatis 动态SQL 用法

MyBatis动态SQL动态SQL是MyBatis强大的特征之一,极大的简化了我们SQL拼装的操作,使用基于OGNL的表达式让操作更加简化OGNL对象图导航语言。强大的表达式语言,通过它可以非常方便的操作对象属性动态SQL就是通过一系列的标签来决定输出的数据,完成SQL语句的组装sql标签(先说一个sql标签,这个不是动态sql)将一些通用的SQL语句进行抽取,放到sql标签中,然后使用include标签将该SQL语句引入 <!--将表中的字段都拿出来放到一个单独的sql标签中

2020-11-03 22:45:08 219

原创 MyBatis配置详解

MyBatis配置详解一、mybatis-config.xml的基本配置environments 标签:它表示配置数据源环境它里面可以放多个environment属性default,就是用来控制当前使用的数据源(值为environment标签中的Id的值)environment标签:表示一个具体的数据源环境信息属性id,多个environment设置为不同的id,分别表示的意思也不同test表示测试环境下的数据源product表示生产环境下的数据源它里面的标签ransact

2020-11-02 22:13:58 325

原创 MyBatis入门

MyBatis入门MyBatis是一个半ORM(对象关系映射)框架,也是一个属于持久层的框架。内部封装了JDBC,开发时,只需要关注SQL语句本身,无需开发者处理加载驱动、获得连接、创建Statement等繁琐的操作。ORM思想:(Object Relation Mapping)java中的实例和关系型数据库中的表之间的映射。使用面向对象的思想,把对数据表的操作转换为对对象的操作。我们都是从JDBC开始学习的,那么我们来回顾一下JDBC的使用流程,加载数据库驱动包、准备连接数据库的参数信息、准备C

2020-11-01 23:11:54 97

原创 DAO 模式 详解

DAO模式DAO(Data Access Object)数据访问对象。主要的功能就是用于进行数据操作的,在程序的标准开发架构中属于数据层的操作先来看基本的架构分层企业分层架构:客户层:B/S结构都使用浏览器,C/S结构则是一个客户端显示层:使用JSP/Servlet进行页面效果的显示业务层:(Business Object,业务对象):会将多个原子性的DAO操作进行组合,组合成一个完整的业务逻辑。数据层(DAO):提供多个原子性的DAO操作(数据持久化操作),例如:增加、修改、删除等,都属于

2020-10-25 22:02:16 13744 1

原创 Cookie和Session

Cookie和Session会话:从用户打开浏览器,访问一个web应用程序开始,多次点击、访问服务器上的资源,多次的请求和响应,直到关闭浏览器,这整个过程就是一个会话我们知道Http是一个无状态的协议,服务器不会记录客户端的信息,不管第几次发送请求给服务器,它也不会认识你为了可以让浏览器和服务器进行一些交互,保存住一些必要数据,在HttpServlet中,提供了两个用于保存会话中数据的两个对象,分别是Cookie和Session会话实现的过程:浏览器访问服务器资源,建立会话,产生一个会话对象(

2020-10-24 12:01:49 176

原创 JSP简单学习(动作、指令、九大隐式对象)

JSP简单学习(动作、指令、九大隐式对象)JSP全称Java Server Pages,称为java的动态服务器端网页技术。使用jsp可以在html中嵌入java代码和jsp标签。从而可以实现根据不同的请求展现一些不同数据的效果同样需要依赖web容器才能运行,下文会了解它的实现原理基本语法代码片段<% java代码片段%>可以在里面编写Java代码,使用最多表达式<%=java表达式内容%>可以进行数据的输出,表达式的结果就会输出到页面上声明&l

2020-10-21 11:51:39 237 1

原创 重定向和请求转发

为实现Servlet之间、网页资源之间的跳转,我们需要使用请求重定向和请求转发重定向和转发之间,虽然都是为了实现资源之间的跳转,但是实际是两个不同的概念请求重定向当客户端浏览器发送请求给Servlet,但是这个Servlet并不想处理这个请求,直接返回响应信息告诉浏览器,去找另一个资源完成你的请求,浏览器拿着返回的地址信息,再去请求第二个Servlet,然后再次给它响应,完成自己的业务两种实现方式:为响应行设置状态码302,在响应头中设置重定向资源的地址,由浏览器来完成重定向resp.

2020-10-18 21:38:47 147

大数据hadoop分布式集群搭建(Hadoop、hbase、hive、mysql、zookeeper、Kafka、flume)

自己整理的Hadoop环境的一些安装,和一些简单的使用,其中包括Hadoop、hbase、hive、mysql、zookeeper、Kafka、flume。都是一些简单的安装步骤和使用,只在自己的虚拟机(Linux centOS7)上使用测试过。按照步骤一步一步来,安装就没有问题。

2020-08-23

空空如也

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

TA关注的人

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