2 原野灬

尚未进行身份认证

非学,无以至疑; 非问,无以广识

等级
博文 15
排名 34w+

SpringBoot自定义starter

由于开箱即用以及配置极简的特性,如今的springboot越来越火,已成为Java后端开发必会的技能点之一。我们知道,在springboot项目中,如果你需要整合其他的框架或集成redis、mysql等数据源,你只需要把这些指定的springbootstarter引进来就能直接使用,那么这是如何做到的,下面就来简单介绍下springbootstarter。SpringBootSta...

2019-06-15 17:45:56

SpringBoot项目中如何在静态工具类中调用到配置文件application.properties(yml)

上篇中讲到工具类静态方法如何使用由spring容器管理的对象,该篇在此基础上描述:工具类静态方法中如何请求spring的配置文件application.properties(yml)中的值?首先介绍Spring接口类Environment:Spring为运行环境提供的高度抽象接口,项目运行中的所有相关配置都基于此接口,用来表示整个应用运行时的环境。 该接口继承自Propert...

2019-06-13 17:25:59

SpringBoot项目中如何在静态工具类中使用被Spring容器管理的对象

在开发的过程中,难免会碰到需要在工具类中使用由spring管理的对象的情况,但是我们都知道,工具类中的静态方法中无法引用spirng容器中的对象(被spring管理的对象不是静态的,静态方法中无法调用),那么该如何才能在静态方法中调用到该对象呢?首先需要介绍spring的一个接口类:ApplicationContextAwareSpring容器会检测容器中的所有Bean,如果发现某个B...

2019-06-13 16:27:17

idea通过数据库生成java实体类(lombok版)

使用原因:很多插件其实都提供了根据数据库生成实体类的功能,但是都不够简洁且不适合自己去自定义样式,而idea提供了能够自定义生成实体类的脚本,所以非常适合有代码洁癖的程序yuan们~使用前提:需要lombok插件(这个插件的用途就是能让代码更简洁,减少多余的工作量,这里使用了它的@Data注解,它会为我们提供get set等方法),如果没有就需要适当修改下脚本,生成get set方法。如何...

2019-01-14 17:36:40

java使用SnowFlake算法生成唯一id

/***Twitter_Snowflake<br>*SnowFlake的结构如下(每部分用-分开):<br>*0-00000000000000000000000000000000000000000-00000-00000-000000000000<br>*1位标识,由于long基本类型在Java中是带符号的,...

2018-11-29 14:48:46

Scala的函数与方法

importjava.io.Serializableimportscala.annotation.elidableimportscala.beans.BeanPropertyimportscala.collection.immutable.HashMapimportscala.collection.mutableimportscala.reflect.ClassTag/...

2018-10-26 16:53:43

Scala的隐式转换

importjava.io.Serializableimportscala.annotation.elidableimportscala.beans.BeanPropertyimportscala.collection.immutable.HashMapimportscala.collection.mutableimportscala.reflect.ClassTag...

2018-10-26 16:46:34

Scala的控制语句

importjava.io.Serializableimportscala.annotation.elidableimportscala.beans.BeanPropertyimportscala.collection.immutable.HashMapimportscala.collection.mutableimportscala.reflect.ClassTag...

2018-10-26 16:34:11

Scala的访问修饰符

之前在学习scala时做的笔记,希望能对大家有点帮助。 importjava.io.Serializableimportcom.dreamponline.scala_train._importcom.sun.istack.internal.NotNullimportorg.scalatest.FreeSpecimportscala.annotation.elidab...

2018-10-26 16:23:01

redis分布式锁的实现

因为项目中需要用到分布式锁,所以研究了下实现方式。碰到很多坑以及误导人的博客。这里写下自己的感受,大家看的时候还是要抱着怀疑的态度来看实现的合理性。一般分布式锁的实现方式就三种:数据库乐观锁(我上面博客说到过https://blog.csdn.net/lp2388163/article/details/80683383); 基于Redis的分布式锁; 基于ZooKeeper的分布式锁。...

2018-10-26 15:37:11

ETL工具Kettle的使用

之前因为公司项目的报表以及旧项目数据导入新项目涉及到的数据清洗,所以用到了kettle这个工具,刚开始用的时候踩了无数坑,现在闲下来就打算写一篇博客,希望多多少少能给读者有点帮助.我用这个工具的主要目的就是写报表和数据清洗,迁移.百科:ETL是Extract-Transform-Load三个单词的简称,即抽取、转换、加载。ETL工具常用于建立数据仓库,但不仅限于这一领域。换句话话说,使用...

2018-07-03 16:22:58

Mysql性能优化以及开发规范

Mysql开发规范(参考阿里巴巴规范手册)1. 库名、表名、字段名必须使用小写字母,并采用下划线分割2.boolean类型的判断字段使用is_?格式命名,比如是否删除 is_delete 3.尽量不要使用char,使用varchar,因为varchar可以自己控制长度4.使用innerDB存储引擎(默认的),innerDB支持事物,并且默认使用行锁,提供了并发的性能...

2018-06-21 19:02:04

Mysql乐观锁实现

悲观锁:假定会发生并发冲突,屏蔽一切可能违反数据完整性的操作悲观锁,从字面理解就是很悲观,每次去拿数据的时候都认为别人会修改,所以在每次拿的时候对数据上锁,这样就保证了数据的准确性。比如mysql中的表锁,行锁。        表锁:当你对一张表进行修改时,会锁死整张表,其他的请求需要在修改完成释放锁才能继续。在高并发的情景下不适用,        低效的响应会严重影响用户体验。        行...

2018-06-13 20:09:52

Mysql数据同步ElasticSearch方案

在开发中遇到的问题:项目中订单服务的订单数据量太大,mysql中查询订单过慢,如何保证快速的查询并且不会影响订单下单的速度?当时想到的是使用ElasticSearch搜索引擎来解决查询过慢的问题,大概有如下思路:1.使用mysql与es的同步插件,比如比较流行的elasticsearch-jdbc缺点:无法灵活的添加数据,比如你对添加进mysql中的数据进行一些聚合,查询等操作...

2018-06-09 15:30:16

ElasticSearch父子关联文档实现关系型数据库join操作

声明:以下只针对es6.0以下版本,原因是阿里云上售卖的es服务器是5.5.3版本,所以在写业务的时候是针对6.0以下版本的操作!6.0以下版本如果想实现关系型数据库中一对多的操作,有两种常用方法:1.非规范化数据比如mysql描述订单以及订单详情: order(id,order_no,amount)  -> order_detail(id,order_id,commod...

2018-06-07 17:42:45
奖章
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周上午根据用户上周的博文发布情况由系统自动颁发。