- 博客(32)
- 资源 (3)
- 问答 (2)
- 收藏
- 关注
原创 springboot自动配置的原理
zuijinyizhizaimianshi以下原理我就从启动类启动的时候开始说起,也是自己学习的时候的一个切入点吧!首先启动类上有个注解@SpringbootApplication,这个注解是一个复合注解或派生注解,他包含三个注解,源码如下:@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Inherited@SpringBootConfiguration@EnableAutoConfigurati
2020-11-16 15:09:15 223
原创 使用Docker+Jenkins 持续化部署springboot项目
使用Docker+Jenkins 持续化部署springboot项目最近学习了Docker,我是跟着视频学习的,学起来比较简单,毕竟要看这个的话不是运维就是开发,本身有一定的基础,轻轻松松就能入门,无非就是镜像和容器两个核心概念,还有就是一些操作命令。(我说的只是一些入门的东西,我知道Docker往深了学的话涉及到很多,这篇文章是我整个学习过程中敲过的一些命令,遇到的一些坑,有什么不对的地方,大家可以指出来,除此之外不喜勿喷!)1.准备好一个springboot项目 ,我的项目很简单,就一个简单的欢
2020-09-22 14:54:11 968
转载 安装 VMwareTools 实现虚拟机VMware上Centos的linux与windows互相复制与粘贴
实现虚拟机VMware上Centos的linux与windows互相复制与粘贴以下命令要在root用户下执行,普通用户不行。切换用户命令: su root1.打开虚拟机的菜单“虚拟机”,下拉框中会有一个“安装 VMwareTools”工具的安装选项。点击之后,在CentOS的桌面下会出现VMwareTools...tar.gz 的文件。路径(/media/VMwareTools)2.将此文件复制到/tmp文件下进行解压cd/media/VMware Toolscp VM...
2020-07-17 11:25:40 789
原创 Synchronize和ReentrantLock区别
本文主要记录synchronize和reentrantLock的区别,从大体区别进行一个相对比较全面的概括,当然这个问题涉及的多线程相关的内容很多,需要自己花时间去看,单看本文肯定是了解不全面的,也仅仅是表面的,同时我的表达能力有限,面试的时候自己知道的确总是说不清楚,少这少那的,所以在这里记录一下,方面日后回顾学习。(要是有说的不对的地方,欢迎大家指出来一起学习)S与R都是属于阻塞式同步,即...
2020-02-27 13:11:53 438
转载 强引用、软引用、弱引用、幻象引用有什么区别?
看了很多这个话题的讲解下面这个讲述还是比较全面并且通俗易懂的。在Java语言中,除了基本数据类型外,其他的都是指向各类对象的对象引用;Java中根据其生命周期的长短,将引用分为4类。1 强引用特点:我们平常典型编码Object obj = new Object()中的obj就是强引用。通过关键字new创建的对象所关联的引用就是强引用。 当JVM内存空间不足,JVM宁愿抛出OutOfMemo...
2019-10-23 15:20:41 126
原创 zookeeper集群的启动
直接贴上我的实践操作步骤,不清楚的地方欢迎补充和提问。1.下载zookeeper安装包并解压,即可得到zookeeper文件。(这个就自己去下载吧!如果有需要的话留言给我。)2.将zk服务copy三份,解压包命名为zookeeper-3.4.10-1、zookeeper-3.4.10-2、zookeeper-3.4.10-3 并修改zoo.cfg文件(我在学习集群的启动的时候,看人...
2019-10-11 16:05:38 804
原创 zookeeper 集群架构解析
1.ZooKeeper总体架构zk 客户端库使用 zk服务。 zk客户端负责和 zk集群的交互。zk集群可以有两种模式:standalone(有一个独立运行的znode)模式和 quorum (多个znode)模式。2.Sessionzk客户端库和 zk集群中的节点创建一个 session。客户端可主动关闭 session。如果 zk节点没有在 session 关联的 tim...
2019-10-11 15:35:59 1026
原创 java如何处理emoji表情并存入数据库
直接贴上代码吧~~~public class EmojiFilter { final static Pattern EMOJI = Pattern.compile("[\ud83c\udc00-\ud83c\udfff]|[\ud83d\udc00-\ud83d\udfff]|[\u2600-\u27ff]", Pattern.UNICODE_CASE | ...
2019-01-25 16:59:41 2528
原创 SpringBoot 报错: Failed to configure a DataSource: 'url' attribute is not specified and no embe...
问题描述:问题原因:Spring Boot 会默认加载org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration这个类,而DataSourceAutoConfiguration类使用了@Configuration注解向spring注入DataSource这个bean,又因为项目初始没有dataSourc...
2018-12-24 16:01:39 321 5
原创 【maven】maven的SNAPSHOT版本与RELEASE版本的区别
1、SNAPSHOT版本代表不稳定(快照版本),还在处于开发阶段,随时都会有变化。当上传同样的版本号jar包的时候,SNAPSHOT会在版本号的后面自动追加一串新的数字,即日志标签;2、RELEASE则代表稳定的版本(发布版本),一般上线后都会改用RELEASE版本。在maven的依赖管理机制中,唯一标识一个依赖项是由该依赖项的三个属性构成的,分别是groupId、artifactId以及...
2018-08-23 09:45:24 6337
原创 小议网络传输为什么需要url编码
背景:最近在做一个三方接口的调用,情况是这样的,前端ios/安卓需要将一张图片转成一个base64的字符串数据,传到后台,接着后台再带上参数调用三方接口。前端POST请求后台,后台再POST请求三方,这其中涉及到两次POST请求,问题就是第二次请求后台做了URL转码,第一次请求没有转码。这样就会出现一个问题 比如前端base64=mds/17AjOw4C/n62KCZF+C6vSMWa+i...
2018-08-16 16:21:30 531 2
转载 透过现象看原理:详解 Spring 中 Bean 的 this 调用导致 AOP 失效的原因
本文是一篇转载的文章,原著前言在我们使用Spring时,可能有前辈教导过我们,在bean中不要使用this来调用被@Async、@Transactional、@Cacheable等注解标注的方法,this下注解是不生效的。那么大家可曾想过以下问题为何致this调用的方法,注解会不生效 这些注解生效的原理又是什么 如果确实需要调用本类方法,且还需要注解生效,该怎么做? 代理是否...
2018-08-02 15:07:38 316
转载 【Java编程】Java架构师知识体系
这是一篇转载来的文章,是一个叫【Java编程】的公众号,里面每天推送一些技术文章,真的很棒,推荐给大家。这里自己也记录学习一下,下面的一些文字和图片都是引用了在该公众号的文章和图片:阿里巴巴、百度、腾讯都在用的Java架构师知识体系一、源码分析源码分析是一种临界知识,掌握了这种临界知识,能不变应万变,源码分析对于很多人来说很枯燥,生涩难懂。源码阅读,我觉得最核心有三点:技术基础+强烈的求知欲+耐心...
2018-06-05 09:29:14 1031
转载 【码农翻身】看书好还是看视频好?
这篇文章来自微信公众号:码农翻身,大家也可以关注一下 挺好的比如这个问题:到底是看书好还是看视频好呢? 这个问题仁者见仁、智者见智: 有人觉得书细致而严谨,全面而详实,有人觉得看起来比较枯燥;有人觉得视频有声音有图像,更加生动活波,但有人觉得视频很啰嗦,不能像读书那样快速推进。 我的观点是无论是读书还是看视频,都是一种手段, 关键是在学习过程中得有目标感。 对于学习一门具体的技术而言,学习前最...
2018-05-28 17:02:09 3274
原创 【dubbo】引入dubbo包(2.5.3)导致引入了低版本的spring报错问题
首先报错的大致内容:Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from URL [file:/E:/IdeaProjects/archer/archer-web/target/archer-web/WEB-...
2018-05-07 13:50:40 2288
原创 【RabbitMQ】spring整合rabbitmq 文件配置、demo完整示例
之前讲了基于java配置的简单的小demo,现在结合一下spring进行整合。其实原理跟之前差不多的,只是改成了xml的配置。1、创建工厂连接<rabbit:connection-factory id="connectionFactory" host="127.0.0.1" ...
2018-04-27 17:33:45 4427 3
转载 【RabbitMQ】多个消费者情况下的应答机制、队列信息持久化、公平转发
1、消息应答执行一个任务需要花费一定的时间。期间会发生一些意想不到的状况,比如其中一个消费工作者服务器中断。这样我们会丢失它正在处理的信息。我们也会丢失已经转发给这个工作者且它还未执行的消息。但是,我们不希望丢失任何任务(信息)。当某个工作者(接收者)被杀死时,我们希望将任务传递给另一个工作者。为了保证消息永远不会丢失,RabbitMQ支持消息应答(message acknowledgmen...
2018-04-25 20:32:54 6563
原创 【RabbitMQ】rabbitmq交换器topic类型
生产者:package mq.topic;import com.rabbitmq.client.Channel;import com.rabbitmq.client.Connection;import com.rabbitmq.client.ConnectionFactory;import java.io.IOException;import java.util.UUID;i...
2018-04-25 20:13:32 505
原创 【RabbitMQ】rabbitmq交换器direct类型
demo意图:本次展示的demo意在消费对应的不同类型的日志类型。生产者:package mq.direct;import com.rabbitmq.client.Channel;import com.rabbitmq.client.Connection;import com.rabbitmq.client.ConnectionFactory;import java.io.I...
2018-04-25 20:03:06 509
原创 【RabbitMQ】rabbitmq交换器fanout类型
生产者:package mq.fanout;import com.rabbitmq.client.Channel;import com.rabbitmq.client.Connection;import com.rabbitmq.client.ConnectionFactory;import java.io.IOException;import java.util.Date;...
2018-04-25 19:43:34 326
原创 【RabbitMQ】rabbitmq基本原理与入门HelloWorld
最近在学习RabbitMQ相关的知识,主要是通过一些demo进行理解和掌握,具体的原理机制什么的,理解起来比较困难,所以看得也不多,下面是我的一些学习感悟及demo实例。接下来关于RabbitMQ的一些学习都是基于以为大神的博客。在学完大神的博客之后,我对RabbitMQ有了很深入的理解,但是,我发现我所谓的理解脱离了最基础的概念,所以刚学完的时候又恍然大悟,又半知半解,后来跟同事讨论了一...
2018-04-25 18:51:44 335
原创 【RPC】远程接口调用实例
实例之前可以先了解一个东西--HttpInvoker。HTTPInvoker使用原理Spring HTTP Invoker:使用HTTP协议,允许穿透防火墙,使用JAVA系列化方式,但仅限于Spring应用之间使用,即调用者与被调用者都必须是使用Spring框架的应用。服务器端:基于现在的多模块项目开发,我新建了一个client模块,这个模块专门为客户端提供rpc的远程调用接口。/** * @d...
2018-04-12 17:42:52 15586 2
原创 【git】本地仓库推远程仓库
在讲解操作步骤时,我们的前提条件是本地已有一个idea项目(此处我用的开发工具是idea),如下:现在我们要做的就是,将这个项目用git管理起来并且推送到远程的github。1.打开git-bash.exe(git的安装这里就不说),进入到scorpio项目根目录下:2.git init 初始化一个git仓库$ git init可以看出多了一个.git文件,这个是个隐藏的文件夹,要是看不到可以设置...
2018-04-10 18:00:46 1614
原创 【quartz】quartz定时任务service注入失败
quartz定时任务service注入失败的详细的原因我查了查是这样的:Job是在quartz的框架中实例化的,service是在spring容器中创建出来的,所以Job实现类不受spring管理,即导致注入失败,所以要想解决这个问题就需要,将他们关联起来。好在Quartz提供了JobFactory接口,就可以自定义实现创建Job的逻辑。就像这样:public interface JobFacto...
2018-03-30 15:09:10 5091
原创 【quartz】quartz学习使用心得(3)之spring与Quartz的整合
spring与Quartz的整合需要导入Quartz jar包,在maven中导入,方法我就不列出来了,就是在pom引入依赖,不知道的话可以查查别的资料。整合后xml的配置文件的两种方式:MethodInvokingJobDetailFactoryBean 调用特定bean的某个特定方法例如:<!-- ***********使用MethodInvokingJobDetailFactory*...
2018-03-30 14:16:31 232
原创 【quartz】quartz学习使用心得(2)之quartz.properties
1、quartz主要用到的设计模式:Builder模式、Factory模式、组件模式、链式写法。 2、Scheduler调度器的主要函数:Date schedulerJob(JobDetail jobDetail,Trigger trigger)返回的是最近一次调度任务的时间点;void start() 启动调度器;void standBy() 该任务暂时挂起,重新调用start(...
2018-03-30 10:26:54 864
原创 【quartz】Quartz中的Cron表达式
Cron表达式用于配置CronTrigger实例的表达式,由7个子表达式组成的字符串,描述了时间表的详细信息。参考文章(觉得他写的挺全面的,其中的cron表达式那块就直接拿来了)格式:[秒][分][小时][日][月][周][年]Cron表达式位置时间域允许值特殊值1秒0-59, - * /2分钟0-59, - * /3小时0-23, - * /4日期1-31, - * ? / L W C5月份1-...
2018-03-29 17:00:51 326
原创 【quartz】quartz学习使用心得(1)基本原理
quartz是一种任务调度框架。quartz调度的核心元素以及在于spring整合时的存在形式:(!!!核心元素比较多,都是概念性的东西,建议大家一定仔细看,第一遍看不懂没关系,浏览一遍后,结合自己写的demo回过头来细细地看就会清晰很多。)1、Job:是一个接口,只有一个方法void execute(JobExecutionContext context),开发者在实现该接口的exe...
2018-03-28 14:36:17 448
原创 【mysql 】mysql 获取排列序号
在进入正题之前先来了解一个mysql中的小知识点:① := 与 = 的区别:= 赋值的意思。在set update select 中表示赋值的意思,用的比较少一般都用=,但是在用变量实现行号时(比如本文标题获取排列序号),一定要用:=。 = 等于的意思,只有当set 和 update时,和:=的意思是一样的,表示赋值,其余情况都是等于的意思。② 用户变量 @@rank 是对一个叫ran...
2018-03-21 13:46:09 57371 13
原创 springboot整合mybatis dao注入失败 这个是一篇提问的稿子啊啊啊啊,悬赏不够只能写在这里了
我没有币了只能写在这里了,望路过的大神帮忙解决一下。。。我的问题就是springboot整合mybatis的时候,在dao层进行测试的时候(在service直接注入dao也是这个错),报异常,异常下面图片有详细的,我就不描述了,dao接口加了@Repository这个注解,按理说应该是已经注入了的,只是不知道启动的时候为什么会报错,求大神路过解决一下~~~~~~~~~下面贴出我的相
2018-01-11 16:31:26 4812 4
转载 【dom4j 】dom4j 生成并解析xml文件
使用场景:最近参与了一个写三方接口的项目,期间学了一些小知识,记录一下。一、XML和JSON两种数据交换格式的比较 XML:extensible markup language,一种类似于HTML的语言,他没有预先定义的标签,使用DTD(document type definition)文档类型定义来组织数据;格式统一,跨平台和语言,早已成为业界公认的标准。相比之JSON这种 轻量级...
2017-04-25 11:09:03 1083
原创 【java】基于java反射机制调用自定义类导致service注入失败的经验浅谈
使用场景:最近在做一个保费计算的方法,涉及到不同险种的计算,根据三方传来的request请求进行相应的保费计算。最开始用的方法是switch case形式,根据对方传来的id逐个判断属于哪种险种,然后就进入相应的方法体。这是一种算是比较low的写法,反正大学那会儿没少用。后来在同事的指导下,换了个高大上的写法。下面就来说说看。。。反射机制是什么:反射机制是在运行状态中,对于任意...
2017-04-13 16:09:13 4451
深入理解Java虚拟机 JVM高级特性与最佳实践(第二版)、spring boot 实战 (spring Boot In Action) 丁雪丰 (译者)
2018-01-24
spring aop环绕通知 拦截controller成功 页面跳转报404错误?
2017-08-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人