自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Elastic-Job

一:简介 分布式任务调度框架,结合zookeeper技术解决quartz框架在分布式系统中重复的定时任务导致的不可预见的错误二:示例pom <dependencies> <dependency> <groupId>org.springframework.boot</groupId&...

2019-01-23 20:12:00 142

转载 SpringBoot 参数校验

一: 一般校验(0)适用场景:同一字段没有互相矛盾的验证策略(1) 请求参数public class ParamsValidForm { @NotBlank(message = "用户名不能为空") private String userName; @NotBlank(message = "密码不能为空") @Length(...

2018-11-06 16:47:00 132

转载 AOP实现接口请求参数和响应参数的日志打印

一:示例@Aspect@Componentpublic class WebLogAspect { private static Logger log = LoggerFactory.getLogger(WebLogAspect.class); private final ObjectMapper mapper; @Autowire...

2018-11-06 16:39:00 801

转载 Transactional注解不回滚

1. 检查你方法是不是public的。2. 你的异常类型是不是unchecked异常。如果我想check异常也想回滚怎么办,注解上面写明异常类型即可。@Transactional(rollbackFor=Exception.class)类似的还有norollbackFor,自定义不回滚的异常。3. 数据库引擎要支持事务,如果是mysql,注意表要使用支持事务的引擎...

2018-10-17 18:30:00 131

转载 Spring和Spring Boot源码阅读环境搭建

一:Spring第一步:安装git和gradle,以及Java8,并配置环境变量。第二步:打开gitbash,cd到你要放置spring源码工程的目录,输入:git clone https://github.com/spring-projects/spring-framework.git 等待下载完毕。或者下载指定的release版本解压缩。第三步:预...

2018-08-10 09:24:00 160

转载 RabbitMQ的消息确认机制

一:确认种类RabbitMQ的消息确认有两种。一种是消息发送确认。这种是用来确认生产者将消息发送给交换器,交换器传递给队列的过程中,消息是否成功投递。发送确认分为两步,一是确认是否到达交换器,二是确认是否到达队列。第二种是消费接收确认。这种是确认消费者是否成功消费了队列中的消息。二:消息发送确认(1)ConfirmCallback通过实现ConfirmCallBa...

2018-08-04 22:00:00 210

转载 windows 环境下安装RabbitMQ

一:安装(1)安装otp_win32_21.0.1(2)安装rabbitmq-server-3.7.7官网有相应的下载链接:http://www.rabbitmq.com/(3)net stop RabbitMQ && net start RabbitMQ 如果需要,在cmd中执行此命令,重启MQ服务器。二:启用管理平台rabbitmq提...

2018-08-04 11:57:00 111

转载 git常用操作

1. 删除远程无效分支(1)通过git branch -a 查看,远程被删除的分支还在。(2)git remote prune origin(3)再通过git branch -a 查看,远程被删除的分支不见了2.删除本地无用分支git branch -d branchName3. 更新远程分支场景:当本地分支和远程分支不同步(比如远程新建了分支...

2018-07-31 18:21:00 66

转载 RabbitMQ中各种消息类型如何处理

一:消息类型MapString(含json字符串类型)二:处理方法2.1 Map消息 如果发送的消息类型是map类型,可以通过SerializationUtils.deserialize方法将消息转换成map类型。2.2 字符串类型(含json格式) 通过String类的构造函数接收byte[]类型的消息数据,获...

2018-07-16 19:30:00 881

转载 RabbitMQ实战(一)Spring Boot 整合 RabbitMQ

本文主要介绍RabbitMQ基础组件和SpringBoot整合RabbitMQ简单示例交换器(Exchange)交换器就像路由器,我们先是把消息发到交换器,然后交换器再根据绑定键(binding key)和生产者发送消息时的路由键routingKey,按照交换类型Exchange Type(fanout,direct,topic)把消息投递到对应的队列。(明白这个概念很重要,...

2018-07-16 19:07:00 81

转载 消息队列RabbitMQ基础知识详解

一: 什么是MQ? MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序或者模块对模块的通信方法。MQ是消费-生产者模型的一个典型的代表,一端往消息队列中不断写入消息,而另一端则可以读取队列中的消息。 常见的消息队列有RabbitMQ和kafka。下面详细介绍一下RabbitMQ的适用场景和基本概念。二: 适用场景2.1 并发处理...

2018-07-15 12:24:00 137

转载 Java职业生涯规划

java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每个阶段要学习的内容甚至是一些书籍。这一部分的内容,同样适用于一些希望转行到Java的同学。  在大家看之前,我要先声明两点。1、由于我本人是Java后端开发出身,因此所推荐的...

2018-07-11 14:30:00 214

转载 Java之集合框架汇总分析

一:框架图二:框架分析(0)点线框表示接口,实线框表示具体的类。(1)常用的List、Set、Queue、Map都属于集合类。前三个都是继承自Collection,但是Map不是。(2)List不仅可以生成普通的Iterator(因为继承自Collection),还能生成ListIterator。(3)常用的类ArrayList、LinkedList、H...

2018-06-23 22:19:00 78

转载 ThreadPoolExecutor线程池

一:类继承结构 继承关系二:构造函数 构造函数(1)线程池的大小除了显示的限制外,还可能由于其他资源上的约束而存在一些隐式限制。比如JDBC连接池。(2)运行时间较长的任务。 如果任务阻塞的...

2018-06-16 11:50:00 91

转载 Java中的反射

一:反射的概述  反射是框架设计的灵魂,使用前必须先得到代表的字节码的Class,Class类用于表示.class文件(字节码)。  JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性,方法和构造函数;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。二:反射的入口:ja...

2018-04-13 09:32:00 59

转载 MySql系列二:插入数据效率比较

本文主要测试mysql插入数据效率,测试机器硬件为:inter i3 (2.13GHz,4核) + 4G内存(2.99G可用) +32位操作系统一:表结构CREATE TABLE `record` ( `id` int(11) NOT NULL AUTO_INCREMENT, `openid` varchar(63) NOT NULL, `tag_id`...

2018-04-05 15:27:00 306

转载 Spring 源码分析(十一)--SpringMVC(下篇)

下篇介绍DispatcherServlet的逻辑处理。 我们知道在HttpServlet类中分别提供了相应的服务方法,它们是doDelete(),doGet(),doOptions(),doPost(),doPut()和doTrace(),它会根据请求的不同形式将程序引导至对应的函数进行处理。这几个函数中最常用的函数无非就是doGet()和doPost(),那么先看看D...

2018-02-20 15:24:00 128

转载 Spring 源码分析(十)--SpringMVC(上篇)

Spring框架提供了构建Web应用程序的全功能MVC模块。通过策略接口,Spring框架是高度可配置的,而且支持多种视图技术。Spring MVC分离了控制器,模型对象,分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。 Spring的MVC是基于Servlet功能实现的,通过实现Servlet接口的DispatcherServlet来封装其核心功能实现,通...

2018-02-20 11:38:00 158

转载 Spring 源码分析(九)--AOP

我们知道,使用面向对象编程(OOP)有一些弊端,当需要为多个不具有继承关系的对象引入同一个公共行为时,例如日志,安全检测等,我们只有在每个对象里引用公共行为,这样程序中就产生了大量的重复代码,程序就不便于维护了,所以就有了一个对面向对象编程的补充,即面向方面编程(AOP),AOP所关注的方向是横向的,不同于OOP的纵向。 Spring 2.0 采用@AspectJ注解对...

2018-02-19 22:32:00 69

转载 Spring 源码分析(八)--容器的功能扩展

经过前面几篇的分析,相信大家对Spring中容器功能有了简单的了解,在前面的章节中我们一直以BeanFactory接口以及它的默认实现类XmlBeanFactory为例进行分析。但是,Spring中还提供了另一个接口ApplicationContext,用于扩展BeanFactory中现有的功能。 ApplicationContext和BeanFactory两者都是用于...

2018-02-17 13:07:00 96

转载 Spring 源码分析(七)--bean的加载详细分析

一:缓存中获取单例bean 前面已经提到过,单例在Spring的同一个容器内只会被创建一次,后续再获取bean直接从单例缓存中获取,当然这里也只是尝试加载,首先尝试从缓存中加载,然后再次尝试从singletonFactories中加载。因为在创建单例bean的时候会存在依赖注入的情况,而在创建依赖的时候为了避免循环依赖,Spring创建bean的原则是不等bean创建完成...

2018-02-12 14:21:00 437

转载 Spring 源码分析(六)--bean的加载整体分析

通过前面的分析,我们结束了对XML配置文件的解析,接下来将进行bean加载的分析。对于加载bean的功能,在Spring中的调用方式为: 或者 MyTestBean tb= bf.getBean("myTestBean", MyTestBean.class);一:整体分析(1.1)AbstractBeanFactory 类public abs...

2018-02-12 10:20:00 112

转载 Spring 源码分析(五)--自定义标签的解析

本文分析自定义标签的解析:一:BeanDefinitionParserDelegate 类public BeanDefinition parseCustomElement(Element ele) { return parseCustomElement(ele, null); } public BeanDefiniti...

2018-02-11 12:02:00 85

转载 Spring 源码分析(四)--自定义标签的使用

在之前的代码分析中,Spring标签的解析分为 默认标签和自定义标签两种,前一篇文章分析了Spring中对默认标签的解析过程。 本文将分析Spring中自定义标签的使用过程:一:回顾public class DefaultBeanDefinitionDocumentReader implements BeanDefinitionDocumentReader ...

2018-02-11 11:45:00 74

转载 Java异常结构

Java异常机制异常是程序运行过程中出现的错误。本文主要讲授的是Java语言的异常处理。Java语言的异常处理框架,是Java语言健壮性的一个重要体现。Java把异常当作对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类。在Java API中已经定义了许多异常类,这些异常类分为两大类,错误Error和异常Exception。Java异常体系结...

2018-02-10 11:38:00 92

转载 Spring 源码分析(三)--默认标签的解析

一:DefaultBeanDefinitionDocumentReader 解析BeanDefinition/* * Copyright 2002-2016 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * y...

2018-02-09 22:24:00 253

转载 Spring 源码分析(二)--容器的基本实现

容器最基本的实现是beanFactory,但是大部分企业引用都是使用ApplicationContext,这里介绍基础的BeanFactory是为了更好的理解spring内部原理。(一)基本用法(1)bean的声明package com.ws.learn.entity;public class Person { private String na...

2018-01-28 16:19:00 116

转载 Spring 源码分析(一)--整体架构和环境搭建

本系统分析的spring源码版本为4.3.8,参考书《Spring 源码深度解析》,深入学习完后开始整理这本书中知识,分析中代码使用4.3.8版本,有一小部分源码和书中低版本的spring源码有所不同。(一)整体架构这些模块被分为以下几个部分(1)Core ContainerCore容器(核心容器)包含Core,Beans,Context和Expression...

2018-01-27 14:57:00 98

转载 MySql系列一:单列建索引

本文主要目的是测试单列是否应该建立索引,并以查询时间和扫描行数作为参考依据。mysql版本5.5.20一:建表CREATE TABLE `record` ( `id` int(11) NOT NULL AUTO_INCREMENT, `openid` varchar(63) NOT NULL, `tagId` int(11) DEFAULT NULL...

2017-12-31 13:18:00 313

转载 Spring Boot 内嵌servlet容器的Servlets +Filters + listeners

一:servlet(1)启动类@SpringBootApplication@ServletComponentScanpublic class Application { public static void main(String[] args){ SpringApplication.run(Application.class, args)...

2017-11-21 18:04:00 95

转载 Spring Boot Application 事件和监听器

一:Application事件(1)ApplicationStartingEvent AnApplicationStartingEventis sent at the start of a run, but before any processing except the registration of listeners and initializers.(2)A...

2017-11-21 14:10:00 82

转载 Spring Boot 属性配置

属性的配置在项目中经常被使用到,Spring Boot 相对spring框架配置文件对属性进行配置简化了很多。一:属性配置优先级1.命令行参数2.来自java:comp/env的JNDI属性3.Java系统属性(System.getProperties())4.操作系统环境变量5.RandomValuePropertySource配置的random...

2017-11-20 09:52:00 57

转载 Spring Boot 本地jar包

一:问题场景 在开发过程中,我们有时会遇到Maven中央库没有的jar包,比如公司自己开发的而又没有放入公司私库的jar包,这时就不能通过三围在pom中直接引入。那么怎么在项目中引入这些本地或第三方jar包呢?二:解决方法 常用的解决方法主要有两种。 第一种是将本地jar包安装在本地maven库。这种方法简单方便,以后其他项目需要引入时不需要再次安...

2017-11-19 11:40:00 919

转载 Spring Boot 配置logback

一:官网 logback的官方网站:http://logback.qos.ch二:logback的配置文件 Logback配置文件的语法非常灵活。正因为灵活,所以无法用DTD或XML schema进行定义。尽管如此,可以这样描述配置文件的基本结构:以<configuration>开头,后面有零个或多个<appender>元素,...

2017-11-16 14:48:00 58

转载 Calendar类

一:获取本星期一日期字符串 /** * 获取本周星期一日期字符串yyyyMMdd(一个星期从星期一到星期天) * @return */ public static String getMondayOfThisWeek(){ Calendar cal = Calendar.getInstance(); ...

2017-09-01 09:26:00 64

转载 数据库事物隔离级别

一:网上参考资料1.http://www.cnblogs.com/wajika/p/6680200.html (一般情况)2.http://www.cnblogs.com/zhaoyl/p/4121010.html (mysql)3.http://www.cnblogs.com/digdeep/p/4947694.html (mysql)4.https://dev....

2017-08-17 09:32:00 51

转载 文件操作之 renameTo方法

一:网上参考资料1.http://www.cnblogs.com/softidea/p/4273112.html二:注意点(1)file1.renameTo(file2),如果file2已经存在,会返回false。(2)renameTo方法不同盘符格式不同,会返回false三:解决方法public static void main(String[] args)...

2017-08-11 16:04:00 372

转载 微信开发:MySQL utf8mb4 字符集

在微信开发中遇到用户昵称的保存,但是昵称含特殊字符,如表情等,使用utf-8字符会导致保存失败。一:网上参考资料1.http://blog.csdn.net/youngqj/article/details/520408652.http://www.hangge.com/blog/cache/detail_1411.html3.http://www.cnblogs....

2017-08-01 17:43:00 98

转载 Spring 事务

一:网上参考资料1.http://www.cnblogs.com/yepei/p/4716112.html2.http://blog.csdn.net/yeson6/article/details/4954330二:注意事项(1)@Transactional 只能被应用到public方法上, 对于其它非public的方法,如果标记了@Transactional也不会...

2017-07-31 13:54:00 58

转载 Exception

一:网上参考资料1.http://blog.csdn.net/u014401141/article/details/529848532.http://blog.csdn.net/kingzone_2008/article/details/85352873.http://www.cnblogs.com/shihuc/p/5201905.html4.http://blog....

2017-07-31 13:52:00 79

空空如也

空空如也

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

TA关注的人

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