10余年开发架构经验,同时乐于技术分享!
单元测试是我们开发中调试的时候的重要方式,本文介绍下在SpringBoot2.x中怎么使用单元测试。
SpringBoot中提供了五种对于异常的处理方式,本文我们来一一介绍下。 异常处理
本文介绍下在IDEA中项目热部署的两种方式,因为如果每次我们修改下页面的代码都需要重新启动的话那么效率就太低了。
本文介绍SpringBoot整合SpringMVC和mybatis在IDEA中通过maven项目来对user表数据完成CRUD操作,前端使用Thymeleaf来实现。
本文主要介绍下Thymeleaf的基本使用的语法
SpringBoot中推荐使用的前端模板框架是Thymeleaf,所以本文来介绍下怎样整合Thymeleaf。
maven和dubbo在现在来说都是非常火的技术,本文就来记录下IntelliJ IDEA中通过maven的聚合工程来实现dubbo的入门案例
SpringBoot【整合Freemarker】
SpringBoot中默认是不支持jsp的,但是我们某些情况下可以又需要用到,所以本文记录下SpringBoot整合jsp的过程
SpringBoot【文件上传】
SpringBoot中的静态资源的存放路径和我们前面的web项目还是有些区别的,本文我们来介绍下SpringBoot中的静态资源。
本文介绍下SpringBoot中整合servlet的过程
为了加深对SpringBoot中自动装配的理解,我们自定义一个starter来实现,具体步骤如下
SpringBoot支持Java Util Logging、Log4J、Log4J2和Logback作为日志框架,无论使用哪种日志框架,SpringBoot已为当前使用的日志框架的控制台输出及文件输出做好了配置,默认情况下,SpringBoot使用Logback作为日志框架
SpringBoot为我们提供了简化企业级开发绝大多数场景的starter pom,只要使用了应用场景所需要的start pom,相关的技术配置将会消除,就可以得到SpringBoot为我们提供的自动配置的Bean。
基本配置 1.入口类和相关注解 2.定制Banner 2.1 修改banner图标 2.2 关闭banner 3.SpringBoot的配置文件 3.1 tomcat端口号修改 3.2 常规属性配置 3.3 类型安全的配置
文章目录 一、在线创建 二、开发工具创建 2.1 通过在线地址 IntelliJ IDEA Eclipse(STS插件) 2.2 Maven项目创建 IntelliJ IDEA Eclipse
最近打算重新整理一遍SpringBoot的内容,希望对大家有所帮助。
最近在整理资料的发现了一套Java面试方面比较齐全的视频,想着与其让它一直带在云盘里没啥用还不如分享出来给想这方面内容的小伙伴。
NoSQL,泛指非关系型的数据库,随着互联网的发展传统的关系型数据库面对持续增长的数据处理起来显得越来越力不从心,此时非关系型数据库应运而生。
当我们开发一个管理类项目的时候,EasyUI是我常用的一个jquery框架,而表单验证显然是我们必须要实现的功能,而使用基于EasyUI的验证功能就比较简便了,本文来介绍下具体的用法
在项目开发中,对于整体的页面布局中对于菜单导航栏我们一般设计为根据不同的用户权限展示不同的菜单选项,同时菜单显示也会做异步加载处理。本文就来介绍下基于EasyUI的tree插件来实现导航栏的异步加载实现。
IntelliJ IDEA(2019)常用快捷键
前面介绍完了idea中创建普通java项目和web项目。本文介绍下在idea中创建maven项目。
上篇文章介绍了idea的安装及普通java项目的使用,本文来介绍下web项目的创建及相关操作
文章目录 系统架构演化历程 单体架构 应用服务和数据服务分离 缓存的使用 集群的使用 数据库读写分离 反向代理和CDN加速 分布式文件和分布式数据库 NoSql和搜索引擎 业务拆分 分布式服务
设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。通过对这些设计模式的合理使用能够是我们的系统更加的健壮。
是一种不常用的设计模式 用于描述如何构成一个简单的语言解释器,主要用于使用面向对象语言开发的编译器和解释器设计。
本文我们来介绍下java23种设计模式中的备忘录模式。
现实生活中我们经常会碰到状态改变的场景,面对不同的场景我们会做出不同的处理
Spring-IOC实现【02-XML配置方式案例】
通过学习搭建一个简单的文件服务器,使用http协议对外提供服务,当客户端通过浏览器访问文件服务器时,对访问路径进行检查,检查失败时返回403错误,该页无法访问,如果校验通过,以链接的方式打开当前文件目录,每个目录下是超链接,可以递归访问,如果是文件则下载。
Jibx插件使用maven构建Error loading class java.lang.CharSequence错误
Jibx是一款非常优秀的XML文件数据绑定的框架,提供灵活的绑定映射文件,实现数据对象和XML文件之间的转换,并不需要修改既有的Java,另外,它的转换效率是目前很多其他开源项目都无法比拟的。本文来演示下如何使用
Protobuf是一种平台无关、语言无关、可扩展且轻便高效的序列化数据结构的协议,可以用于网络通信和数据存储。
MessagePack是一个高效的二进制序列化框架,它像JSON一样支持不同语言间的数据交换,但是它的性能更快,序列化之后的码流也更小。MessagePack的特点如下: 编解码高效,性能高; 序列化之后码流小 支持跨语言
TCP以流的方式进行数据传输,上层的应用协议为了对消息进行区分,往往采用如下4种方式 消息长度固定,累计读取到长度总和为定长的LEN的报文后,就认为读取到了一个完整的消息,将计数器置位,重新开始读取下一个数据报。
首先要明确, 粘包问题中的 “包”, 是指应用层的数据包.在TCP的协议头中, 没有如同UDP一样的 “报文长度” 字段,但是有一个序号字段.
前面给大家介绍了NIO,我们会发现用NIO实现异步非阻塞的网络通信代码量非常大,而且并不是很好理解,在实际的开发中一般我们也都是会实现基于NIO的框架来操作的,比如Netty,这样开发效率有高而且Bug也少。
NIO被叫为 no-blocking io,其实是在网络这个层次中理解的,对于FileChannel来说一样是阻塞。对于网络通信是还有如下几个Channel
前面介绍了NIO中的buffer和Channel,而我们将NIO主要的使用场景还是在网络环境中,在具体介绍之前我们需要了解下IO的模型
通道(channel)介绍 Channel是一个对象,作用是用于源节点和目标节点的连接,在java NIO中负责缓冲区数据的传递。Channel本身不存储数据,因此需要配合缓冲区进行传输。
直接与非直接缓冲区 字节缓冲区跟其他缓冲区类型最明显的不同在于,它们可以成为通道所执行的 I/O 的源头和/或目标。其实发现通道只接收ByteBuffer作为参数这个将Channel的时候会发现
复制一个缓冲区会创建一个新的 Buffer 对象,但并不复制数据。原始缓冲区和副本都会操作同样的数据元素。我们将以 CharBuffer 为例来演示,但同样的操作可被用于任何基本的缓冲区类型。
我们知道NIO的三大核心是buffer,channel和selector,本文开始详细介绍下buffer 缓冲区Buffer
NIO也叫(New IO)或者(no-blocking io),是jdk1.4后提供的,主要目的是为了提高速度,和我们前面介绍的’内核空间’和’用户空间’相关。是一个可以替代标准Java IO API的新IO API,提供了与标准IO不同的IO工作方式。
后面打算系统性的介绍下NIO和Netty的内容,因为这块内容也是每个程序员必须要掌握的内容,而在介绍NIO之前我们需要先了解下一些前置的知识
将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化;对请求排队或记录日志,以及支持可撤销的操作,将”发出请求的对象”和”接收与执行这些请求的对象”分隔开来。
假如没有总经理。下面三个部门:财务部、市场部、研发部。财务部要发工资,让大家核对公司需要跟市场部和研发部都通气;市场部要接个新项目,需要研发部处理技术、需要财务部出资金。市场部跟各个部门打交道。 虽然只有三个部门,但是关系非常乱。
迭代器模式(Iterator),提供一种方法顺序访问一个聚合对象中的各种元素,而又不暴露该对象的内部表示。又称为:游标cursor模式