架构/框架

框架( Framework )是构成一类特定软件可复用设计的一组相互协作的类。框架规定了你的应用的体系结构。它定义了整体结构,类和对象的分割,各部分的主要责任,类和对象怎么协作,以及控制流程。

最新博文

  • 【顶】 docker网络模型

    Docker docker网络模型

    一、docker网络基础知识Docker在启动时会创建一个虚拟网桥docker0,默认地址为172.17.0.1/16,容器启动后都会被桥接到docker0上,并自动分配到一个IP地址。使用ipaddr或ifconfig命令可以看到:Docker容器在创建的时候有四种网络模型,如果没有指定,默...

    2020-09-22 8

    阅读全文
  • 【顶】 MyBatis源码学习—MyBatis结果处理器ResultSetHandler详解

    MyBatis MyBatis源码学习—MyBatis结果处理器ResultSetHandler详解

    上一篇博文MyBatis源码学习—MyBatis数据仓库会话器StatementHandler详解我们通过Statement将SQL发送到了数据库,并返回了ResultSet,接下来就是将结果集ResultSet自动映射成实体类对象。这样使用者就无需再手动操作结果集,并将数据填充到实体类对象中...

    2020-07-13 103

    阅读全文
  • 【顶】 MyBatis源码学习—MyBatis参数处理器ParameterHandler详解

    MyBatis MyBatis源码学习—MyBatis参数处理器ParameterHandler详解

    MyBatis的四大组件我们已经了解过两种了:一个是Executor,它在创建SqlSession的时候会被初始化,它是MyBatis解析SQL请求首先会经过的第一道关卡,它的主要作用在于创建缓存,管理StatementHandler的调用,为StatementHandler提供Configu...

    2020-07-12 105

    阅读全文
  • MyBatis源码学习—MyBatis数据仓库会话器StatementHandler详解

    MyBatis MyBatis源码学习—MyBatis数据仓库会话器StatementHandler详解

    1、StatementHandler对象的创建过程在上一节MyBatis源码学习—MyBatis执行器Executor详解中我们了解MyBatis执行器的产生以及执行SQL的大致过程。StatementHandler对象是在SqlSession对象接收到SQL执行命令时,由Configurat...

    2020-07-09 111

    阅读全文
  • MyBatis源码学习—MyBatis 执行器Executor详解

    MyBatis MyBatis源码学习—MyBatis 执行器Executor详解

    ​从前面分析我们知道了sql的具体执行是通过调用SqlSession接口的对应的方法去执行的,而SqlSession最终都是通过调用了自己的Executor对象的query和update去执行的。本文就分析下sql的执行器—–Executor。1、Executor继承体...

    2020-07-08 110

    阅读全文
  • MyBatis源码学习—SqlSession的运行过程

    MyBatis MyBatis源码学习—SqlSession的运行过程

    SqlSession的运行过程是整个MyBatis最难以理解的部分。SqlSession是一个接口,使用它并不复杂。我们构建SqlSessionFactory之后就可以轻易地拿到SqlSession了。SqlSession接口给出了查询、插入、更新、删除的方法,在旧版本的MyBatis或iBa...

    2020-07-04 116

    阅读全文
  • MyBatis源码学习—SqlSessionFactory的构建过程

    MyBatis MyBatis源码学习—SqlSessionFactory的构建过程

           MyBatis的运行分为两大部分,第一部分是读取配置文件缓存到Configuration对象,用以创建SqlSessionFactory,第二部分是SqlSession的执行过程。相对而言,SqlSessionFactory的创建比较容易理解,而SqlSession的执行过程远远...

    2020-07-02 129

    阅读全文
  • MyBatis架构设计及源代码分析(一):MyBatis架构

    MyBatis MyBatis架构设计及源代码分析(一):MyBatis架构

    一、概述MyBatis是一个轻量级的ORM框架,其官方首页是这么介绍自己。MyBatis数据映射器框架使将关系数据库与面向对象的应用程序结合使用变得更加容易。MyBatis使用XML描述符或注释将对象与存储过程或SQL语句耦合。相对于对象关系映射工具,简单性是MyBatis数据映射器的最大优势...

    2020-06-24 131

    阅读全文
  • 一文让你理解高并发缓存中的一致性Hash算法原理

    Redis 一文让你理解高并发缓存中的一致性Hash算法原理

    一、从Web系统的演进说起单机时代在当今的互联网项目中,对于缓存的使用已经是”标配“了,我们开发一个平台刚开始访问量很小只需要一个缓存服务器就够用了(系统架构如下图所示)负载均衡随着系统的发展,访问量越来越大,这是我们的服务撑不住了,此时我们考虑给系统做负载均衡增加应用服务器来提高系统的并发量...

    2020-06-21 133

    阅读全文
  • 单线程的Redis为什么高并发场景下还是很快

    Redis 单线程的Redis为什么高并发场景下还是很快

    缓存在高并发的场景的作用不言而喻,号称高并发架构的基石,其中最为典型代表非Redis莫属。无论你是想面试通关,还是实战中用好Redis,理解Redis的设计精髓,就变得很重要了。今天主要分享Redis关于单线程以及高并发场景的核心设计。一、Redis到底有多快?Redis采用的是基于内存的采用...

    2020-06-20 111

    阅读全文
  • Redis缓存和MySQL数据一致性解决方案探究

    Redis Redis缓存和MySQL数据一致性解决方案探究

    在高并发的业务场景下,数据库大多数情况都是用户并发访问最薄弱的环节。所以,就需要使用redis做一个缓冲操作,让请求先访问到redis,而不是直接访问MySQL等数据库。然而在工程技术领域并没有100%完美的解决方案,正如这里,读取缓存步骤一般没有什么问题,但是一旦涉及到数据更新:数据库和缓存...

    2020-06-18 139

    阅读全文
  • Redisson 实现分布式锁原理分析

    Redis Redisson 实现分布式锁原理分析

    在上一文中(分布式锁的三种实现方案)总结了目前业界常见的实现分布式锁的三种方案:1、基于数据库表或排他锁2、基于Redis的setNX命令+lua脚本3、基于Zookeerper的临时结点。本文我们继续通过源码分析一下Redisson实现分布式锁的原理。回顾:Redis实现分布式锁主要步骤指定...

    2020-06-16 154

    阅读全文
  • 分布式锁的三种实现方案

    Redis 分布式锁的三种实现方案

    一、为什么要使用分布式锁我们在开发应用的时候,如果需要对某一个共享变量进行多线程同步访问的时候,可以使用我们学到的Java多线程的18般武艺进行处理,并且可以完美的运行!注意这是单机应用,也就是所有的请求都会分配到当前服务器的JVM内部,然后映射为操作系统的线程进行处理!而这个共享变量只是在这...

    2020-06-14 148

    阅读全文
  • SpringBoot项目更换启动时控制台打印的banner

    Spring Boot SpringBoot项目更换启动时控制台打印的banner

    更换Banner1、在resources目录下新建banner.txt文件2、制作Banner之后制作Banner,这里我推荐几个网站:-http://patorjk.com/software/taag-http://www.network-science.de/ascii/-http://w...

    2020-06-11 117

    阅读全文
  • 布隆过滤器(Bloom Filter)的原理和实现

    Redis 布隆过滤器(Bloom Filter)的原理和实现

    海量数据处理以及缓存穿透这两个场景让我认识了布隆过滤器,我查阅了一些资料来了解它,但是很多现成资料并不满足我的需求,所以就决定自己总结一篇关于布隆过滤器的文章。希望通过这篇文章让更多人了解布隆过滤器,并且会实际去使用它!下面我们将分为几个方面来介绍布隆过滤器:什么是布隆过滤器?布隆过滤器的原理...

    2020-06-11 146

    阅读全文
  • 秒懂,Redis缓存穿透、缓存击穿、缓存雪崩概念以及应对策

    Redis 秒懂,Redis缓存穿透、缓存击穿、缓存雪崩概念以及应对策

    首先给出一张应用架构图:如上图所示,我们在应用程序和Mysql数据库中建立一个中间层,即Redis缓存。通过Redis缓存可以有效减少查询数据库的时间消耗,这极大的提升了应用程序的性能和效率,特别是数据查询方面。但同时,它也带来了一些问题。其中,最要害的问题,就是数据的一致性问题,从严格意义上...

    2020-06-09 146

    阅读全文
  • Nginx配置实例—反向代理

    Nginx Nginx配置实例—反向代理

    1、配置示例1要求:在浏览器地址栏中输入www.123.com,跳转到Linux服务器中的tomcat主页面声明:本次实验在我电脑的Linux虚拟机上进行,Linux系统信息如下:图1实验系统信息1.1准备工作(1)安装nginx(参考:Nginx快速入门—基本概念以及在Linux上安装Ngi...

    2020-05-31 156

    阅读全文
  • SpringBoot网站基于OAuth2添加第三方登录之GitHub登录

    Spring Boot SpringBoot网站基于OAuth2添加第三方登录之GitHub登录

    一、OAuth2简介OAuth是目前最流行的授权机制,用来授权第三方应用,获取用户数据。OAuth在全世界已经得到广泛应用,目前的版本是2.0版。简单说,OAuth就是一种授权机制。数据的所有者告诉系统,同意授权第三方应用进入系统,获取这些数据。系统从而产生一个短期的进入令牌(token),用...

    2020-05-31 180

    阅读全文
  • 提升10倍生产力: IDEA集成Docker一键部署Spring Boot项目(war包部署)

    Docker 提升10倍生产力: IDEA集成Docker一键部署Spring Boot项目(war包部署)

    1、准备工作1.1在远程CentOS服务器上已经安装好了docker。可以参考:1.官方手册:https://docs.docker.com/install/2.我的笔记:手把手教你在Centos7上安装和使用Docker1.2配置docker远程连接端口图1.2.12375端口正在监听注意:...

    2020-05-01 157

    阅读全文
  • Docker进阶之容器数据卷(Volume)

    Docker Docker进阶之容器数据卷(Volume)

    一、什么是数据卷?什么是容器数据卷?       数据卷就是一个文件或者文件夹。       Docker的理念之一是将应用与其运行的环境打包,docker容器的生命周期是与其运行的程序一致的,而对数据的要求是持久化,docker容器之间也需要有共享数据的渠道。       数据卷是特殊的目录...

    2020-04-30 163

    阅读全文
  • 手把手教你在Centos 7上安装和使用Docker

    Docker 手把手教你在Centos 7上安装和使用Docker

    1、什么是Docker?Docker使用Google公司推出的Go语言进行开发实现,基于Linux内核的cgroup,namespace,以及AUFS类的UnionFS等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术。由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。Doc...

    2020-04-30 188

    阅读全文
  • 卸载Linux服务器上安装的Docker

    Docker 卸载Linux服务器上安装的Docker

    有时会用到,特此记录一下在使用后3条命令时如果遇到如下错误:这是由于挂载的目录没有停止,最简单的方法是重启服务器,然后在执行命令即可。

    2020-03-23 220

    阅读全文
  • 基于Linux平台运行的Nginx配置阿里云 SSL证书实现HTTPS访问

    Nginx 基于Linux平台运行的Nginx配置阿里云 SSL证书实现HTTPS访问

    1、前提工作1.1准备一台具有公网IP的Linux服务器1.2申请一个域名,并将此域名和服务器的公网IP绑定1.3在阿里开发者平台上申请并获取SSL证书(1)在开启SSL后,来到下图所示页面,选择一个证书类型后,不用管他上面的报价,点击申请。(2)在接下来的这个页面中,选择你想要的证书服务类型...

    2020-03-23 205

    阅读全文
  • Docker常见异常处理(持续更新)

    Docker Docker常见异常处理(持续更新)

    1.启动docker时映射到宿主机时出现/usr/bin/docker-current:Errorresponsefromdaemon:driverfailed…的解决方案启动docker映射到宿主机时出现如下错误时:这是由于来自守护进程的错误响应,而致使外部连接失败。解决的办法...

    2020-03-23 151

    阅读全文
  • Spring从入门到精通—SSM整合实例

    Spring Spring从入门到精通—SSM整合实例

    0、什么是SSM?在软件开发领域里SSM是对Spring、SpringMVC、MyBatis这三大框架的简称。0.1、SpringSpring是一个开源框架,Spring是于2003年兴起的一个轻量级的Java开发框架,由RodJohnson在其著作ExpertOne-On-OneJ2EEDe...

    2020-03-17 229

    阅读全文
  • Nginx配置实例—nginx+keepalived实现主备服务器的高可用集群

    Nginx Nginx配置实例—nginx+keepalived实现主备服务器的高可用集群

    1、什么是负载均衡高可用?nginx作为负载均衡服务器,所有请求都到了nginx,可见nginx处于非常重要的位置,如果nginx服务器宕机将会导致后端web服务将无法提供,后果严重。为了屏蔽负载均衡服务器的宕机,需要建立一个备份机。主服务器和备份机上都运行高可用(HighAvailablit...

    2020-02-13 148

    阅读全文
  • Nginx配置实例—动静分离

    Nginx Nginx配置实例—动静分离

    1、动静分离概念重温Nginx动静分离可以简单的理解为把动态跟静态分离开来,不能理解成只是单纯的把动态页面和静态页面物理上的分离。严格意义上来说应该是把动态请求和静态请求分离,即nginx处理静态页面,tomcat等应用服务器处理动态页面。动静分离从目前的实现角度来讲大致分为两类:一种是纯粹把...

    2020-02-12 134

    阅读全文
  • Nginx配置实例—负载均衡

    Nginx Nginx配置实例—负载均衡

    1、Nginx负载均衡配置预期实现效果:在浏览器地址栏中输入:http://www.123.com,nginx收到请求后把请求平均分匹配到Linux服务器上监听8080和8081端口的两个tomcat服务器上。1.1准备工作(1)首先在host文件中配置域名映射:192.168.92.128w...

    2020-02-11 152

    阅读全文
  • Nginx配置实例—反向代理

    Nginx Nginx配置实例—反向代理

    1、配置示例1::要求:在浏览器地址栏中输入www.123.com,跳转到Linux服务器中的tomcat主页面声明:本次实验在我电脑的Linux虚拟机上进行的,Linux系统信息如下:图1实验系统信息1.1准备工作(1)安装nginx(参考:Nginx快速入门—基本概念以及在Linux上安装...

    2020-02-10 140

    阅读全文
  • Nginx配置文件详解(配置文件结构)

    Nginx Nginx配置文件详解(配置文件结构)

    Nginx配置文件结构在nginx的安装目录下的conf目录下有一个nginx.conf,这个就是nginx默认的配置文件,默认的内容如下:Nginx配置文件结构:1、main:配置影响nginx全局的指令。一般有运行nginx服务器的用户组,nginx进程pid存放路径,日志存放路径,配置文...

    2020-02-10 129

    阅读全文
  • Nginx快速入门—基本概念以及在Linux下安装

    Nginx Nginx快速入门—基本概念以及在Linux下安装

    1、什么是Nginx?百度百科:Nginx(enginex)是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于200...

    2020-02-09 157

    阅读全文
  • Redis的Java客户端—Jedis和Lettuce

    Redis Redis的Java客户端—Jedis和Lettuce

    Jedis连接Redis1.添加Jedis依赖2.在虚拟机端配置:将bind注释掉,然后改protected-mode为no改了之后保存并重启Redis。3.使用Jedis提供的Jedis这个工具类来连接Jedis,首先在虚拟机使用ifconfig命令查看虚拟机的ip,然后向Redis发送一个...

    2019-10-14 118

    阅读全文
  • SpringBoot从入门到精通—Spring Boot 错误处理机制

    Spring Boot SpringBoot从入门到精通—Spring Boot 错误处理机制

    1、SpringBoot默认错误处理机制(现象)        当我们使用SpringBoot发生错误的时候,如果我们没有配置错误的处理规则,那么SpringBoot就会启用内部的默认错误处理办法。比如当发生404错误的时候,网页端的效果如下:而在别的客户端访问的时候如果出现了404错误,默认...

    2019-10-13 183

    阅读全文
  • SpringBoot从入门到精通—Spring Boot 对静态文件的默认映射规则

    Spring Boot SpringBoot从入门到精通—Spring Boot 对静态文件的默认映射规则

    1、Webjars(官网:http://www.webjars.org/)webjars:以jar包的方式引入静态资源;SpringBoot中所有/webjars/**,都去classpath:/META-INF/resources/webjars/找资源。推荐使用Webjars的三大理由:将...

    2019-10-12 206

    阅读全文
  • Redis主从复制的几种形式和原理详解

    Redis Redis主从复制的几种形式和原理详解

    主从复制概述       主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master),后者称为从节点(salve)。数据的复制是单向的,只能从主节点到从结点。 &nbs...

    2019-10-12 98

    阅读全文
  • Redis的事务控制

    Redis Redis的事务控制

    事务的基本概念事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发来的命令请求打断。事务是一个原子操作:事务中的命令要么全部执行,要么全部不执行。Redis事务相关的几个命令multi:MULTI命令用于开启一个事务,它总是返回OK。MUL...

    2019-10-11 103

    阅读全文
  • 一文让你理解Redis 的两种持久化方式:RDB和AOF

    Redis 一文让你理解Redis 的两种持久化方式:RDB和AOF

           众所周知,Redis是一种内存数据库,但是存在内存中的数据一断电或者服务节点宕机之后就消失了,在高并发场景下每秒千万级的访问量,那将会丢失大量的客户数据,这是不可容忍度的,但是我们的Redis肯定没有这么鸡肋!Redis也支持数据的持久化,Redis有两种持久化方式RDB(Red...

    2019-10-09 108

    阅读全文
  • 手把手教你在Centos 7上安装、配置、启动Redis

    Redis 手把手教你在Centos 7上安装、配置、启动Redis

    一、什么是Redis?Redis是RemoteDictionarySevery(远程字典服务器)的缩写,它是一个基于C语言编写的完全开源免费,并且遵循BSD协议的一个高性能的key-value型分布式内存数据库。Redis使用key-value的形式保存值,常用的数据类型有String、lis...

    2019-10-08 144

    阅读全文
  • Redis配置文件redis.conf详解

    Redis Redis配置文件redis.conf详解

    Redis脚本简介在我们介绍Redis的配置文件之前,我们先来说一下Redis安装完成后生成的几个可执行文件:redis-server、redis-cli、redis-benchmark、redis-stat、redis-check-dump、redis-check-aof:Redis配置文件...

    2019-10-08 129

    阅读全文
  • Redis五大常用数据类型命令详解

    Redis Redis五大常用数据类型命令详解

    Redis键(key)的有关命令keys* 查看当前数据库中的所有键existskey 判断是否存在某个key,如果存在返回1,不存在返回0movekeydbId 把某个key移动到指定的数据库中expirekeyseconds 为某个key设置过期时间,时间单位:秒ttlkey 查看某个ke...

    2019-10-08 135

    阅读全文
  • SpringBoot从入门到精通—SpringBoot异步任务、定时服务和邮件服务

    Spring Boot SpringBoot从入门到精通—SpringBoot异步任务、定时服务和邮件服务

    1、SpringBoot—异步任务    异步调用是相对于同步调用而言的,同步调用是指程序按预定顺序一步步执行,每一步必须等到上一步执行完后才能执行,异步调用则无需等待上一步程序执行完即可执行。    实现异步处理任务的方式有很多,我们可以自己通过多线程来实现或者也可以使用SpringBoot...

    2019-10-01 138

    阅读全文
  • SpringBoot从入门到精通—Spring Boot + Eureka 实现微服务负载均衡

    Spring Boot SpringBoot从入门到精通—Spring Boot + Eureka 实现微服务负载均衡

    1、什么是Eureka?        Eureka这个单词原本的意思就是“我发现了,我找到了”,他在Spring中的功能也和他的本意是一样的。Eureka是netflix的一个子模块,也是核心模块之一,Eureka是一个基于RESTful的服务,用于定位服务,以实现云端中间层服务发现和故障转...

    2019-09-30 123

    阅读全文
  • SpringBoot从入门到精通—自定义starter

    Spring Boot SpringBoot从入门到精通—自定义starter

    SpringBoot中提供了各种starter,starter可以理解为一个可拔插式的插件,当我们要使用的时候只用导入需要的starter即可。例如:你想使用jdbc插件,那么可以使用spring-boot-starter-jdbc;如果想使用mongodb,可以使用spring-boot-s...

    2019-09-29 150

    阅读全文
  • SpringBoot从入门到经通过—Spring —Cache

    Spring Boot SpringBoot从入门到经通过—Spring —Cache

    1、JSR-107规范1.1JSP-107是什么?        要回答这个问题,首先要知道JSR是什么,JSR是JavaSpecificationRequests的缩写,Java规范请求,故名思议就是Java规范,大家一同遵守这个规范的话,会让大家‘沟通’起来更加轻松。规范是很重要的,举个例...

    2019-09-28 134

    阅读全文
  • Spring从入门到精通—自动配置Spring MVC的原理

    Spring Boot Spring从入门到精通—自动配置Spring MVC的原理

    1、SpringMVC自动配置SpringBoot对SpringMVC自动配置的详细可以参考管方文档。SpringBoot为SpringMVC提供的AutoConfiguration适用于大多数应用场景,SpringBoot对SpringMVC做了以下默认的自动配置:引入ContentNego...

    2019-09-27 128

    阅读全文
  • SpringBoot从入门到精通—MyBatis的配置和使用(注解+XML配置)

    Spring Boot SpringBoot从入门到精通—MyBatis的配置和使用(注解+XML配置)

    关于MyBatis,大部分人都很熟悉。MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。这篇文章主要介绍了SpringBoot集成MyBatis的两种方式(注解和XML文件配置),需要的朋友可以参考下.1、使用XML配置MyBatis1.1在pom.xml文件中引...

    2019-09-26 124

    阅读全文
  • SpringBoot从入门到精通—SpringBoot启动流程剖析

    Spring Boot SpringBoot从入门到精通—SpringBoot启动流程剖析

           上图为SpringBoot启动结构图,我们发现启动流程主要分为三个部分,第一部分进行SpringApplication的初始化模块,配置一些基本的环境变量、资源、构造器、监听器,第二部分实现了应用具体的启动方案,包括启动流程的监听模块、加载配置环境模块、及核心的创建上下文环境模块...

    2019-09-25 139

    阅读全文
  • SpringBoot从入门到精通—嵌入式Servlet容器的配置、切换

    Spring Boot SpringBoot从入门到精通—嵌入式Servlet容器的配置、切换

    声明:以下的所有方法、原理、源码全部是建立在SpringBoot2.1.7版本。1、修改SpringBoot对嵌入式Server容器的默认配置SpringBoot默认使用Tomcat作为嵌入式的Servlet容器。实际应用中我们需要对他进行专门的定制。定制的方式不外乎两种:在配置文件中配置或在...

    2019-09-24 170

    阅读全文
  • SpringBoot从入门到精通—整合Druid数据源

    Spring Boot SpringBoot从入门到精通—整合Druid数据源

    java实现的数据库连接池有很多,比如c3p0,dbcp等,还有号称速度最快的HikariCP,并且springboot2.0.2版本默认使用的就是HikariCP。为什么选用Druid呢?-性能够好,比c3p0,dbcp强一些-经过考验,毕竟是阿里开源出来的项目-最关键的是带一个强大的数据库...

    2019-09-15 134

    阅读全文
  • SpringBoot从入门到精通—Thymeleaf模板引擎详解

    Spring Boot SpringBoot从入门到精通—Thymeleaf模板引擎详解

    1、引言        在做WEB开发的时候,我们不可避免的要在前端页面之间进行跳转,中间进行数据的查询等等操作。我们在使用SpringBoot之前包括我在内其实大部分都是用的是JSP页面,可以说使用的已经很熟悉。但是我们在使用SpringBoot开发框架以后我们会发现一个致命的问题,就是Sp...

    2019-09-11 157

    阅读全文
  • SpringBoot从入门到精通—自动配置原理(深入源码)

    Spring Boot SpringBoot从入门到精通—自动配置原理(深入源码)

    1、引言不论在工作中,亦或是求职面试,SpringBoot已经成为我们必知必会的技能项。除了某些老旧的政府项目或金融项目持有观望态度外,如今的各行各业都在飞速的拥抱这个已经不是很新的Spring启动框架。当然,作为SpringBoot的精髓,自动配置原理的工作过程往往只有在“面试”的时候才能用...

    2019-09-10 159

    阅读全文
  • SpringBoot从入门到精通—配置文件详解

    Spring Boot SpringBoot从入门到精通—配置文件详解

    1、SpringBoot配置文件    SpringBoot支持两种形式的配置文件,分别是.properties、和.yml,而且配置文件的名字是固定不可变的:*application.properties*application.yml    配置文件的作用是修改SpringBoot自动配置...

    2019-09-09 135

    阅读全文
  • SpringBoot与日志

    Spring Boot SpringBoot与日志

    一、日志框架分类目前,日志框架有很多,例如:JUL(java.util.logging)、JCL(ApacheJakartaCommonsLogging)、Log4j、Log4j2、LogBack、SLF4J、jboss-logging等等。日志门面日志实现JCL(ApacheJakartaC...

    2019-09-07 136

    阅读全文
  • SpringBoot从入门到精通—SpringBoot快速入门

    Spring Boot SpringBoot从入门到精通—SpringBoot快速入门

    1、入门环境准备在本地安装3.3版本以上的Maven,以及JDK1.7以上的java环境,然后在IDEA【settings】=>【File|Settings|Build,Execution,Deployment】=>【Maven】,设置如下内容:2、使用Maven构建SpringB...

    2019-09-07 294

    阅读全文
  • SpringMVC文件下载和上传

    Spring MVC SpringMVC文件下载和上传

    1、文件下载文件下载的最重要的一点是设置响应头的Content-disposition为attachmen;filename=要下载的文件的名字,然后得到文件的输入流写入本地即可1.常规方法2.使用SpringMVC提供的ResponseEntity<T>类型,使用它可以很方便地定...

    2019-08-12 213

    阅读全文
  • SpringMVC拦截器(Interceptor)详解

    Spring MVC SpringMVC拦截器(Interceptor)详解

    1、拦截器概述1.1什么是拦截器?       SpringMVC中的拦截器(Interceptor)类似于Servlet中的过滤器(Filter),但是比过滤器的功能更加强大,它主要用于拦截用户请求并作相应的处理。例如通过拦截器可以进行权限验证、记录请求信息的日志、判断用户是否登录等。要使用...

    2019-08-11 188

    阅读全文
  • SpringMVC对Ajax异步请求的支持

    Spring MVC SpringMVC对Ajax异步请求的支持

    1、Ajax异步请求概念1.1AJAX:AnsycJavascriptAndXml(异步请求)       异步是指基于Ajax的应用与服务器通信的方法。对于传统的Web应用,每次用户发送请求或向服务器请求获得新数据时,浏览器都会完全丢弃当前页面,而等待重新加载的页面。在服务器完全响应之前,用...

    2019-08-10 137

    阅读全文
  • SpringMVC异常处理

    Spring MVC SpringMVC异常处理

    1、重要的接口和类1.1HandlerExceptionResolver       他是SpringMVC“九大组件”之一,SpringMVC异常处理核心接口。该接口定义了1个解析异常的方法:1.2ExceptionHandlerExceptionResolver       继承自Abst...

    2019-08-09 142

    阅读全文
  • SpringMVC对资源国际化的支持

    Spring MVC SpringMVC对资源国际化的支持

    1、资源国际化开发1.1什么是资源国际化?       软件的国际化:软件开发时,要使它能同时应对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的、符合来访者阅读习惯的页面或数据。国际化(internationalization)又称为i18n(读法为i18n,据说是因为int...

    2019-08-08 142

    阅读全文
  • SpringMVC 数据绑定&数据格式化&数据校验

    Spring MVC SpringMVC 数据绑定&数据格式化&数据校验

    1、数据绑定流程SpringMVC将ServletRequest对象及目标方法的入参实例传给WebDataBinderFactory实例,创建出DataBinder(数据绑定的核心部件)DataBinder调用转配在SpringMVC上下文中的ConversionService组件进行数据类型...

    2019-08-07 156

    阅读全文
  • Spring MVC视图解析

    Spring MVC Spring MVC视图解析

          对于控制器的目标方法,无论其返回值是String、View、ModelMap或是ModelAndView,SpringMVC都会在内部将它们封装为一个ModelAndView对象进行返回。   SpringMVC借助视图解析器(ViewResolver)得到最终的视图对象(View...

    2019-08-06 142

    阅读全文
  • Spring MVC从入门到精通—向页面带回响应数据的方法

    Spring MVC Spring MVC从入门到精通—向页面带回响应数据的方法

    1、SpringMVC提供了以下几种途径输出模型数据:ModelAndView:处理方法返回值类型为ModelAndView时,方法体即可通过该对象添加模型数据Map、Model以及ModelMap:入参为org.springframework.ui.Model、org.springframe...

    2019-08-04 126

    阅读全文
  • Spring MVC从入门到精通—@RequestMapping注解详解

    Spring MVC Spring MVC从入门到精通—@RequestMapping注解详解

           在SpringMVC中@RequestMapping注解是一个十分强大的注解,SpringMVC使用@RequestMapping注解可以为控制器指定可以处理那些URL请求,在控制器的类上或类中的方法上均可以使用这个注解:在类上使用可以提供初步的映射信息。相当于一个根路径在方法上...

    2019-08-03 161

    阅读全文
  • Spring MVC从入门到精通—SpringMVC获取请求参数

    Spring MVC Spring MVC从入门到精通—SpringMVC获取请求参数

    第一种方式:方法的形参上给一个和请求参数同名的参数1.获得普通类型的参数值示例代码2.获得POJO类型的值示例代码新建Book.java以及Address.java两个POJOBook.javaAddress.java写一个简单的表单:index.html提交后的页面:book.jsp提供一个...

    2019-08-02 246

    阅读全文
  • Spring MVC快速入门—Spring MVC体系结构及工作流程

    Spring MVC Spring MVC快速入门—Spring MVC体系结构及工作流程

    SpringMVC体系结构:SpringMVC是基于MVC软件架构实现的技术框架SpringMVC的执行流程具体步骤:第一步:客户端发起请求到前端控制器(DispatcherServlet)第二步:前端控制器请求HandlerMapping查找Handler(可以根据xml配置、注解进行查找)...

    2019-08-01 160

    阅读全文
  • MyBatis分页插件pageHelper配置和使用

    MyBatis MyBatis分页插件pageHelper配置和使用

    1、PageHelper简介这是一个基于MyBatis开源的分页插件,使用非常方便,支持各种复杂的单表、多表分页查询,让你在写sql时无需考虑分页问题,PageHelper帮你搞定。项目托管在github上https://github.com/pagehelper/Mybatis-PageHe...

    2019-07-30 207

    阅读全文
  • MyBatis动态SQL

    MyBatis MyBatis动态SQL

    MyBatis的强大特性之一便是它的动态SQL。如果你有使用JDBC或其他类似框架的经验,你就能体会到根据不同条件拼接SQL语句有多么痛苦。拼接的时候要确保不能忘了必要的空格,还要注意省掉列名列表最后的逗号。利用动态SQL这一特性可以彻底摆脱这种痛苦。MyBatis动态SQL元素和使用JSTL...

    2019-07-29 138

    阅读全文
  • Spring从入门到精通—Spring事务详解

    Spring Spring从入门到精通—Spring事务详解

    1、Spring事务核心接口Spring事务管理涉及的接口的联系如下:        Spring事务管理器的接口是org.springframework.transaction.PlatformTransactionManager,通过这个接口,Spring为各个平台如JDBC、Hibern...

    2019-07-22 145

    阅读全文
  • Spring从入门到精通—Spring事务配置使用实例

    Spring Spring从入门到精通—Spring事务配置使用实例

    1、Spring事务控制概述       Spring支持编程式事务管理和声明式事务管理两种数据库事务管理方式。编程式事务管理使用TransactionTemplate或者直接使用底层的PlatformTransactionManager,通过硬编码的方式来管理数据库的事物。对于编程式事务管理...

    2019-07-21 200

    阅读全文
  • Spring从入门到精通—Spring IOC高级依赖注入配置使用实例

    Spring Spring从入门到精通—Spring IOC高级依赖注入配置使用实例

    1、环境与Profile    在开发中我们测试用一套数据库,开发用一套数据库,而且要将应用程序从一个环境迁移到另一个环境,Spring允许我们定义多套配置,可以配置声明应用哪套配置的Bean1.1ProfileSpring中的Profile是什么?  ...

    2019-07-20 252

    阅读全文
  • Spring从入门到精通—基于Annotation配置和使用AOP

    Spring Spring从入门到精通—基于Annotation配置和使用AOP

    1、AspectJ通知类型AOP联盟定义通知类型,AOP联盟的jar都是接口,必须要有实现类。AspectJ通知类型只定义类型名称,以及方法格式,总共有6种;1.brfore:前置通知(应用:各种校验)在方法执行前执行,如果通知抛出异常,将不会执行方法2.afterReturning:后置通知...

    2019-07-19 193

    阅读全文
  • Spring从入门到精通—基于XML配置和使用AOP

    Spring Spring从入门到精通—基于XML配置和使用AOP

    1、SpringAOP半自动编程核心步骤:1.创建一个接口以及它的实现类2.编写切面类,实现MethodInterceptor接口的invoke方法3.配置Spring的配置文件,xml文件中的配置重要是:【重要】  1).配置目标类的bean   2).配置切面类的bean   3).配置代...

    2019-07-19 204

    阅读全文
  • Spring从入门到精通—AOP与AspectJ的关系?原生JDK和CGLib手动实现AOP?

    Spring Spring从入门到精通—AOP与AspectJ的关系?原生JDK和CGLib手动实现AOP?

    1、AOP和AspectJ概述(SpringAOP是什么?AOP有什么用?)1.1AOP简介在软件行业,AOP为AspectOrientedprogramming的缩写,意为:面向切面编程,它是一种编程思想。AOP是OOP(面向对象编程)思想的延续。AOP采取横向抽取机制,取代了传统纵向继承体...

    2019-07-19 230

    阅读全文
  • Spring从入门到精通—IOC详解

    Spring Spring从入门到精通—IOC详解

    1、什么是SpringIOC/DI控制反转(InversionofControl,IoC)所谓控制反转就是应用本身不负责依赖对象的创建及维护,依赖对象的创建及维护是由外部容器负责的。这样控制权就由应用转移到了外部容器,控制权的转移就是所谓反转。依赖注入(DependencyInjection,...

    2019-07-18 203

    阅读全文
  • Spring入门—在Maven下配置Spring

    Spring Spring入门—在Maven下配置Spring

    1.什么是Spring?Spring是一个开源框架,它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受...

    2019-07-17 142

    阅读全文
  • Spring从入门到精通-认识Spring框架

    Spring Spring从入门到精通-认识Spring框架

    1.什么是Spring?Spring是一个J2EE框架,这个框架提供了对轻量级IoC(InversionofControl,控制反转)的良好支持,同时也提供了对AOP(AspectOrientedProgramming,面向切面编程)技术非常好的封装。相比其他框架,Spring框架的设计更加模...

    2019-07-16 244

    阅读全文
  • MyBatis SQL映射文件配置详解

    MyBatis MyBatis SQL映射文件配置详解

    配置SQL映射文件MyBatis中的SQL映射文件只有很少的几个顶级元素(按照它们应该被定义的顺序如下):cache–给定命名空间的缓存配置。cache-ref–其他命名空间缓存配置的引用。resultMap–是最复杂也是最强大的元素,用来描述如何从数据库结果集中来加载对象。sql–可被其他语...

    2019-07-12 149

    阅读全文
  • MyBatis整合Redis作为二级缓存

    MyBatis MyBatis整合Redis作为二级缓存

    Redis不像Ehcache一样提供了针对MyBatis的二级缓存的实现,因此需要我们自己来实现缓存的逻辑,但是归根到底原理是一样的,就是实现MyBatis的org.apache.ibatis.cache.Cache接口,在实现类中我们把数据的存取中间件变为了Redis而已,下面是一个实现的示...

    2019-07-11 206

    阅读全文
  • MyBatis整合Ehcache作为二级缓存

    MyBatis MyBatis整合Ehcache作为二级缓存

    0、Ehcache简介    Encache是一个纯粹的Java进程内的缓存框架,具有快速、精干等特点。具体来说,Encache主要特点如下。快速简单多种缓存策略(FIFO、LRU、LFU)缓存数据有内存和磁盘两级,无需担心容量问题缓存数据会在虚拟机重启的过程写入磁盘可以通过RMI、可插入AP...

    2019-07-10 193

    阅读全文
  • 深入理解MyBatis缓存机制

    MyBatis 深入理解MyBatis缓存机制

           使用缓存可以是应用更快的获取数据,避免频繁的数据库交互,尤其是在查询越多、缓存命中率越高的情况下,使用缓存的作用就越明显。MyBatis作为持久层框架,提供了强大的查询缓存特性,可非常方便的配置和使用。MyBatis系统中默认定义了两级缓存:一级缓存和二级缓存。1、默认情况下,一...

    2019-07-09 173

    阅读全文
  • 深入理解Mybatis中的一对一、一对多映射关系

    MyBatis 深入理解Mybatis中的一对一、一对多映射关系

    1、搭建实验环境1).新建数据库mybatis62).新建表:sys_user、sys_role、sys_user_role,sys_privilege、sys_role_privilegesql脚本如下:3).新建每个表对应的实体JavaBeanSysUser.javaSysRole.jav...

    2019-07-08 155

    阅读全文
  • MyBatis-配置SQL映射文件

    MyBatis MyBatis-配置SQL映射文件

    MyBatis中的SQL映射文件只有很少的几个顶级元素(按照它们应该被定义的顺序如下):cache–给定命名空间的缓存配置。cache-ref–其他命名空间缓存配置的引用。resultMap–是最复杂也是最强大的元素,用来描述如何从数据库结果集中来加载对象。sql–可被其他语句引用的可重用语句...

    2019-07-08 126

    阅读全文
  • MyBatis全局配置文件详解

    MyBatis MyBatis全局配置文件详解

    MyBatis使用过程中主要需要配置两个xml文件,一个是全局配置文件,另一个是SQL映射文件。本片博文我们就来学习一下MyBatis的全局文件的使用配置方式。在官方文档中也有详细的解释:MyBatis全局配置文件的官方文档。通过看文档和写代码来学习全局配置文件的使用,全局配置文件的配置主要有...

    2019-07-06 139

    阅读全文