7 timchen525

尚未进行身份认证

学而不思则罔,思而不学则殆!

等级
博文 166
排名 1w+

利用Swagger2 构建api文档

背景介绍:Swagger是一个用于java代码中写注解,然后可以通过访问指定的网页,自动生成接口文档,并且可以通过接口进行功能测试。使用介绍:(1)添加Maven依赖<dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</arti...

2018-11-12 21:26:06

idea 使用说明以及常用插件介绍

一、idea使用说明导入idea的配置(如果之前有配置好的idea的配置文件)设置idea的缺省配置文件(1)设置默认的jdk(2)设置默认的Maven仓库地址(3)设置默认的Java文件的头部格式(4)设置文件编码UTF8格式(重要)(5)设置点击Java文件自动弹出对应的包列表(6)设置idea软件自身可以使用软件的内存大小idea...

2018-10-09 00:03:32

Java 动态代理

Java动态代理的实现有两种方式:1、jdk自带的动态代理2、spring中的cglib实现的动态代理区别:jdk自带的动态代理一定要有接口interface类,而cglib不需要。(1)基本信息UserInfoService.java类:publicinterfaceUserInfoService{StringgetUserNa...

2018-10-08 22:42:47

guava SimpleTimeLImiter进行方法超时调用控制

1、基于类级别的调用(1)编写接口类UserInfoService.javapublicinterfaceUserInfoService{StringgetUserName()throwsInterruptedException;}(2)编写对应的实现类UserInfoServiceImpl.javapublicclassUserInfoServ...

2018-09-29 21:38:47

自定义log4j Appender

MySQL中可以自定义Appender,这里给出一个自定义的将日志输出到指定的文件的appender:1、继承AbstractAppender类FileAppender.class@Plugin(name=FileAppender.FILE_APPENDER,category="Core",elementType=Appender.ELEMENT_TYPE,pr...

2018-09-27 22:10:27

Spring boot 多数据源配置

这里讲下如何在一个SpringBoot项目中配置多个数据源:Mave中添加依赖:<!--SpringBootMybatis依赖--><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring...

2018-09-26 23:46:46

Spring 不通过注解加载bean

工具类:SpringUtil@ComponentpublicclassSpringUtilimplementsApplicationContextAware{privatestaticApplicationContextapplicationContext;@OverridepublicvoidsetApplicationContex...

2018-09-06 22:29:25

Spring boot 具体化类和配置来缩短单元测试时间

我们在写完业务代码之后,都需要编写测试用例来验证代码逻辑是否正确,这样不仅方便自己后期检查,也方便后面接手的人快速测试我们的代码。编写测试用例时,我们可以通过如下快捷键:ctrl+shift+T,然后会出现如下提示:点击,CreateNewTest....通常,只是帮助我们生成一个包下对应的类,以及方法名,然后我们在类上面,简单粗暴的添加:@RunWith(Sprin...

2018-08-22 22:52:44

一种MySQL 分类查询方法

在开发过程中,经常会遇到需要对不同的分类情况下获取相应分类下制定排序的前N条数据。一种比较慢的办法是先查询总共有几个分类,然后根据分类id再去获取前N条数据,这样一共需要进行1+N次数据库查询。这里给出一种,可以只根据一条MySQL语句查询,然后把查询结果在JAVA代码中进行处理获取需要的结果。举个栗子:1、创建表tb_infocreatetabletb_info(...

2018-08-16 21:54:24

Spring 事务 注解@Transaction 用法

在实际开发中,对于一组数据库操作特别是增删改操作,为了保证原子性,通过需要用事务来控制,要么全部成功,要么全部失败。Spring中可以通过注解@Transaction常用的方法如下: @TransactionalpublicvoidtestTransaction(Useruser){introwNum=userMapper.insertUser(user);...

2018-08-09 00:06:12

一种Spring web 统一异常处理切面设计

这里给出一种对控制层处理错误时,会抛出异常,导致返回给客户端的数据比较奇怪,因此,给出一个统一异常处理的类,ExceptionHandle,具体结构如下:具体代码如下:具体代码如下:@ControllerAdvice@Slf4jpublicclassExceptionHandle{@ExceptionHandler(value=Exception...

2018-07-24 23:32:57

谈ThreadLocal中InheritableThreadLocal的用法以及ThreadLocalUtil类

例子1:publicclassTestThreadLocal{publicstaticThreadLocal<Integer>threadLocal=newThreadLocal<>();publicstaticvoidmain(String[]args){threadLocal.set(n...

2018-07-24 23:31:11

一种多层级机构数据库表设计的思路

在实际开发过程中,经常存在多个层级结构的设计,而且多个层级结构还需要排序。这里通过将多级结构的数据在同一张表中(无需多张表进行关联),并通过level的巧妙设计来实现单表查询。level的设计原则:0.*.*其中,0是顶级结构,第一个*是顶级结构下的结构,第二个*是顶级结构下的结构下的结构。举个栗子:1、创建部门架构表:CREATETABLEdepartment( ...

2018-07-23 21:39:33

java web中通过fork join来子任务拆分提高处理速度

场景分析:在项目中,我们可能一次会请求较多数据(比如:一千条),此时,我们可以用fork/join将一次请求分解成N个子任务(每个任务请求1000/N条数据),假如一次请求一千条耗时5s,则我们分解子任务后耗时大概只需要5/N秒多一点。这里各处forkjoin的demo例子,如下所示举个栗子:@Slf4jpublicclassForkJoinTaskExampleextendsRec...

2018-07-13 22:33:40

Spring MyBatis generator自动生成配置

1、需要在pom.xml中添加插件配置:<plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><configuration>&l...

2018-07-10 22:10:56

Java 注解的原理及自定义注解

1、@Deprecated与SupressWarnings("deprecation")对于废弃的方法,我们会用注解@Deprecated来显示注解表示,但是有的时候我们用了废弃的@Deprecated注解,会出现中横线,如果用了废弃的方法,又不想显示横线,可以添加注解@SupressWarnings("deprecation")举个栗子:publicclassDeprecateExample...

2018-07-09 22:07:39

Spring 线程池定时监控

在上一篇Spring异步线程池:https://blog.csdn.net/timchen525/article/details/80672186,该文介绍了如何使用Spring的注解来配置异步线程操作。本篇博文中,补充介绍如何通过Spring定时任务来配置定时检测线程池的使用情况。ThreadPoolExecutor线程池提供了如下几个方法:getTaskCount():线程池已执行和未执行的任...

2018-07-09 21:59:53

Java中如何存储金额的问题

背景分析:在实际开发过程中,对于金额(一般是元为单位)前端输入一般为小数点两位,比如:1.10,小数点第二位到分。而且数据库的存储粒度可以为分或者元,如果为分,则传入的值需要乘以100。解决方法:前端传入的的为小数点2位(小数点合法的位数是2位,大于2位前端和服务端都要校验),服务端这边用Decimal来接收金额类型数据,数据库存储的类型可以为bigInt(此时传入的Double或者Decimal...

2018-07-05 21:11:48

Java查看字节码文件(基于JDK和IDEA)

Java虚拟机执行的是Java字节码文件(也就是.class文件),比如写一个Demo.java类:publicclassDemo{privatestaticintnum=1;publicstaticvoidmain(String[]args){System.out.println("sayhello"+num);...

2018-06-28 22:10:55

Java 中包装类型的比较注意事项

Integer不能用比较等号==进行判断1)示例1:Integera=127;Integerb=127;if(a==b){log.info("a==b");}else{log.info("a!=b");}输出:a==b2)示例2:Integera=128;Integerb=128;if(a==b){l...

2018-06-20 23:15:42
奖章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!