自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Redis之主从复制(方式二)

Redis之主从复制(方式一)下面我们来看看第二种结构方式主从结构图实现步骤在6381中,输入下图命令我们再来看看在6380中的信息当我们在6379这个master中存储数据,在6381中去获取,来看看能否获取到看看6381中获取该数据数据被拿到了不知道大家有没有想过,在上一篇博客说的Redis之主从复制(方式一)还是这篇博客的主从结构,不管哪种结构,只要master一...

2019-07-29 17:41:04 142

原创 Redis之主从复制(方式一)

redis中的主从复制也是一种持久化方式主从复制主从复制可以扩展Redis的性能,比单机版的Redis性能更加的稳定,Redis的主从复制和关系型数据库的主从复制差不多。从机能精确的从主机复制信息。主从复制的优点1、实现读写分离2、降低主服务器master的压力3、实现数据备份主从关系图1、配置三个redis实例将redis.conf文件复制3份[root@hadoop-no...

2019-07-29 16:26:55 244

原创 Redis之持久化AOF

AOF持久化与快照持久化通过直接保存 Redis 的键值对数据不同,AOF 持久化是通过保存 Redis 执行的写命令(读命令不可以,例如 get name等)来记录 Redis 的内存数据。理论上说,只要我们保存了所有可能修改 Redis 内存数据的命令(也就是写命令),那么根据这些保存的写命令,我们可以重新恢复 Redis 的内存状态。AOF 持久化正是利用这个原理来实现数据的持久化与数据的...

2019-07-29 12:25:30 137

原创 Redis之持久化快照(rdb文件)

Redis的持久化持久化就是保持我们的数据不丢失,将数据通常保存在我们的硬盘中。在Redis中持久化的方式有两种,一种是快照持久化,一种是AOF持久化,各有各的优缺点,在项目中我们得根据实际的情况来选择具体的持久化方式。这篇博客主要讲快照持久化(rdb文件)快照持久化也叫rdb持久化方式,通过拍摄快照方式进行数据的持久化,将某个时间内的数据存储到一个rdb的文件中,当再次启动redis服务...

2019-07-29 10:50:41 1397 2

原创 Redis之事务

multi开启事务,只需要执行multi命令即可,当执行完multi命令,在redis中进行数据存储会先放到队列中,当我们再次执行exec命令时,就会处理队列中的数据,将其保存redis中事务异常事务异常有两种,一是在进入队列之前发生异常,服务器记录进入队列失败的的数据,在执行exec命令时不会执行失败的那条命令并放弃这个事务执行exec命令后发生的异常redis不同于关系型数据库...

2019-07-29 10:09:16 124

原创 Redis之String类型

这篇博客主要记录常用的String类型的命令,便于以后查询命令说明set设置key值get获取key对应的值strlen获取key值的长度append在原有的value的基础上追加内容incr将key存储的值加1incrby将key存储的值追加指定的内容incrbyfloat将key存储的值追加float类型的内容dec...

2019-07-29 00:08:12 124

原创 Shiro之整合SSM

在pom.xml中导入相关依赖<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.o...

2019-07-28 16:46:12 161

原创 Shiro之授权

1、授权的概念对资源访问管理的控制,即对认证通过的用户授予可以访问那些资源的权限2、授权的三种实现方式通过逻辑代码实现Subject subject = SecurityUtils.getSubject();if(subject.hasRole("管理员")){ //表示有权限,可以访问权限具有的资源}else{ //表示未有权限,访问不了没有权限的资源}通过注解方式实现@...

2019-07-28 15:13:40 135

原创 Shiro之加密

数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为"密文",使其只能在输入相应的密钥之后才能显示出本来内容,通过这样的途径来达到保护数据不被非法人窃取、阅读的目的。该过程的逆过程为解密,即将该编码信息转化为其原来数据的过程。...

2019-07-28 11:32:57 630

原创 Shiro之执行流程源码分析

shiro.ini配置文件shiro的ini配置文件主要有四大类配置文件main、users、urls、rolesmain提供了SecurityManager及其依赖的对象配置#创建对象securityManager=org.apache.shiro.mgt.DefaultSecurityManager其构造器必须是public空参构造器,通过反射创建相应的实例。对象名=全限定类...

2019-07-27 20:38:21 178

原创 Redis之数据类型

在面试中会经常问到,你说说redis中有几种数据类型,分别解释一下,这里总结一下,在redis中都有哪几种数据类型,每种类型的用法,在redis中有五种数据类型,分别为string、hash、list、set、zsetRedis的五种数据类型数据类型说明String是Redis中最基本的数据类型,二进制安全的,它可以包含任意数据类型。如图片。Redis中String类型的...

2019-07-27 10:50:52 249

原创 Redis之安装教程

这里记录一篇在linux下安装Redis的教程,便于以后查询1、Redis下载这里提供一个官网地址:http://www.redis.cn历史版本地址:http://download.redis.io/releases/也可以通过在线安装命令,直接去下载wget http://download.redis.io/releases/redis-5.0.3.tar.gz我这里下载到的是...

2019-07-27 10:09:46 222

原创 Mybatis之缓存

缓存的概念缓存是介于应用程序和永久性数据存储源(如硬盘上的文件或者数据库)之间,其作用是降低应用程序直接读写永久性数据存储源的频率,从而提高应用的运行性能。当客户端第一次访问数据库时,数据库吧响应结果传递给客户端,客户端将结果保存到(缓存)本地内存中,当下一次如果是是同样的请求,直接从缓存去取,降低了与数据库访问的频率,极大的提高了系统的性能1、一级缓存在mybatis中默认开启的是一级缓...

2019-07-26 21:27:53 124

原创 Shiro之自定义Realm

将数据源信息定义在ini文件中会与我们实际开发环境有很大不兼容,所以此时希望能够自定义Realm。自定义Realm类需要我们创建一个自定义的realm类,继承AuthorizingRealm,重写doGetAuthenticationInfo和doGetAuthorizationInfo两个方法package com.zhouym.realm;import org.apache.shir...

2019-07-16 17:43:01 287

原创 Shiro之介绍及入门案例

Apache Shiro(安全框架)一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。1、Shiro三大组件Subject即“当前操作用户”。但是,在Shiro中,Subject这一概念并不仅仅指人,也可以是第三方进程、后台帐户(Daemon Acco...

2019-07-16 14:40:00 315

原创 MyBatis之关联关系

1、关联关系在关系型数据库中,表与表之间很少是独立且没有关系的,大多数表都具有复杂的关系,一张表连接着多张表,在MyBatis中可以进行多表连接处理关联关系中有1对1、1对多、多对多1对1关系我们有一张员工表(t_emp),一张部门表(t_dept)。员工表中的一条记录对应于部门表中有且仅有一条记录。这就是一对一的关联关系。查询每个员工的信息及对应的部门信息...

2019-07-16 12:32:50 258

原创 MyBatis之动态sql

MyBatis 的强大特性之一便是它的动态 SQL。如果你有使用 JDBC 或其它类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句的痛苦。例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。利用动态 SQL 这一特性可以彻底摆脱这种痛苦。  虽然在以前使用动态 SQL 并非一件易事,但正是 MyBatis 提供了可以被用在任意 SQL 映射语句中的强大的动态 S...

2019-07-15 16:23:22 223

原创 MyBatis之映射文件

MyBatis 真正强大的地方在于它的映射语句,也是它的魔力所在。由于它的异常强大,映射器的 XML 文件就显得相对简单。如果拿它跟具有相同功能的 JDBC 代码进行对比,你会立即发现省掉了将近 95% 的代码。MyBatis 就是针对 SQL 构建的,并且比普通的方法做的更好。传入的参数#和$MyBatis底层还是Jdbc,而Jdbc在操作数据库传递参数时,有两种方式,一种是使用State...

2019-07-15 11:41:58 163

原创 MyBatis之配置文件

MyBatis的配置文件中包含了MyBatis行为的设置和属性信息,文档结构如下,须遵守这个结构顺序编写,不然会报错Configuration---配置 propertiess---属性 settings---设置 typeAliases---类型别名 typeHandlers---类型处理器 objectFactory---对象工厂 plugins---插件 environmen...

2019-07-15 10:50:56 309

原创 MyBatis之类型处理器typeHandlers

typeHandlers类型处理器实现java类型与数据库类型之间的转换,可以使用系统提供的类型处理器,也可以自定义类型处理器,这里介绍的是实现自定义类型处理器处理数据库类型与java类型的转换比如:List —>VARCHAR1、定义自定义类型处理器package org.zhouym.typehandlers;import java.sql.CallableStatement...

2019-07-11 21:33:37 1112

原创 MyBatis之log4j使用及结合接口方式实现crud

Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。使用步骤1、...

2019-07-11 21:06:54 315

原创 MyBatis之CRUD操作

1、创建一个maven项目并导入相关依赖在pom.xml文件中导入相关依赖2、创建一个POJO对象中的属性与数据库的字段对应,因为我们从数据库查询、删除等是通过对象来传递的package com.zhouym.javabean;public class User { private Integer id; private String name; private Integer...

2019-07-11 19:44:06 245

原创 MyBatis简介及入门案例

1、mybatis的概念MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。官网地址:http:...

2019-07-10 20:38:47 580

原创 SpringMVC之JSON数据交互

对于gson和jackson这两个json处理依赖,直接添加即可。 除此之外,其他的json解析器如fastjson都需要手动配置HttpMessageConverter.实际上,在SpringMVC中,是由一个名叫HttpMessageConverter的类来提供对象到JSON字符串的转换的。而SpringMVC默认就提供了Gson和Jackson的HttpMessageConverter,分...

2019-07-08 21:14:58 343

原创 SpringMVC之异常处理

在实际开发中,我们需要对异常单独处理,当发生异常了,不能让用户看到404、500等的异常,所以我们要对异常做特殊处理,当发生异常之后跳转到一个指定的页面去1、controller类package com.zhouym.databack;import org.springframework.stereotype.Controller;import org.springframework.w...

2019-07-08 20:25:03 113

原创 SpringMVC之数据回写

数据回写:在做数据更新的时候服务端查询的数据自动填充到表单中。Model方式1、相关jar包2、applicationContext.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http:/...

2019-07-08 16:46:56 2161

原创 SpringMVC之服务端的校验

前端是可以校验数据的,那为什么还需要服务器校验呢?最早的校验,就是服务端校验。早期的网站,用户输入一个邮箱地址,校验邮箱地址需要将地址发送到服务端,服务端进行校验,校验成功后,给前端一个响应。有了JavaScript,校验工作可以放在前端去执行。那么为什么还需要服务端校验呢? 因为前端传来的数据不可信。前端很容易获取都后端的数据接口,如果有人绕过页面,就会出现非法数据,所以服务端也要数据校验,总...

2019-07-07 19:31:10 446

原创 SpringMVC之文件下载

1、导入相关jar包2、在前端页面做一个下载链接<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://ww...

2019-07-07 15:45:25 230

原创 SpringMVC之文件上传

1、引入相关jar包Controller类package com.zhouym.fileUpload;import java.io.File;import java.io.IOException;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;...

2019-07-07 14:46:48 154

原创 SpringMVC之响应请求方式

响应请求的方式1、不响应applicationContex.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ...

2019-07-06 17:56:55 823

原创 SpringMVC之原理分析

原理图我们来分析一下上面这张图1.用户向服务器发送请求,请求被Spring 前端控制器DispatcherServlet捕获;2.DispatcherServlet对请求来的URL进行解析,获取请求资源标识符(URI)。然后根据URI,去调用HandlerMapping(处理器映射器)获得该Handler配置的所有相关的对象(包括Handler对象以及Handler对象对应的拦截器),最后...

2019-07-06 12:46:32 166

原创 SpringMVC之注解方式实现

上一篇博客:SpringMVC初步介绍中的案例是以普通方式实现的,这样实现起来比较繁琐,下面我们来看看用注解的方式来实现1、修改xml配置文件<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://...

2019-07-06 12:35:08 347

原创 SpringMVC初步介绍

概念1.Spring Web MVC是一种基于Java,实现了Web MVC设计模式的请求驱动类型的轻量级Web框架2.使用了MVC架构模式的思想,将web层进行职责解耦3.基于请求驱动指的就是使用请求-响应模型4.框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的。优点1.性能比struts2好2.简单、便捷,易学3.和spring无缝衔...

2019-07-05 22:05:27 200

原创 Spring之Aware接口

Aware接口从字面上翻译过来是感知捕获的含义。单纯的bean(未实现Aware系列接口)是没有知觉的;实现了Aware系列接口的bean可以访问Spring容器。这些Aware系列接口增强了Spring bean的功能,但是也会造成对Spring框架的绑定,增大了与Spring框架的耦合度。(Aware是“意识到的,察觉到的”的意思,实现了Aware系列接口表明:可以意识到、可以察觉到)Aw...

2019-07-05 21:28:39 258

原创 Spring之事务处理

数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。 事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操作组合为一个要么全部成功要么全部失败的单元,可以简化错误恢复并使应用程序更加可靠。一个逻辑工作单元要成为事务,必须满足所谓的ACID(原子性、一致性、隔离性和持久...

2019-07-04 20:53:03 169

原创 java中的乱码

1.项目编码2. 文件本身的编码(jsp或者html的head中指定的编码)3. GET请求乱码(修改Tomcat配置)4. POST请求乱码(Java代码解决,可以使用过滤器统一解决)5. 响应乱码(修改响应编码,主要是修改content-type)6. 数据库乱码:a. 确认乱码根源(数据库乱码还是java中乱码)b. 通过在java中打印日志,确认乱码的根源c. 第三种情况,...

2019-07-04 19:43:16 132

原创 Spring之JdbcTemplate

JdbcTemplate就是采用AOP思想,将Jdbc操作中的模板代码全部简化,开发者只需要完成最最核心的SQL以及结果的检索。导入相关jar包定义dao层接口package com.zhouym.jdbcTemplate;import java.util.List;public interface UserDao { int add(); int update(); int...

2019-07-04 19:40:45 129

原创 Spring之aop实现方式

基于Schema-based方式实现前置通知创建一个接口package com.zhouym.schema_based;public interface ServiceBean { String doSome(); String say();}创建目标实现类package com.zhouym.schema_based;public class ServiceBean...

2019-07-04 19:10:26 328

原创 Spring之aop介绍

AOP(Aspect Oriented Programming)即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善。  面向切面是面向对象中的一种方式而已。在代码执行过程中,动态嵌入其他代码,叫做面向切面编程。常见的使用场景:1、日志 Log4J2、 事务3、数据库操作面向切面编程几个核心的概念aop介绍面向切面编程,...

2019-07-04 13:52:08 160

原创 Spring之混合配置

在实际开发中可能既要有配置文件存在,也要使用java配置的方式,这时候就需要使用@ImportResource注解来实现了UserBean类package com.zhouym.condition;public class UserBean { private int id; private String name; private int age; public UserBean...

2019-07-04 11:32:07 198

空空如也

空空如也

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

TA关注的人

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