
JAVA
文章平均质量分 80
TONY Yan
这个作者很懒,什么都没留下…
展开
-
Eureka 认证性能问题
很久没有更新博客了,实在太忙。最近升级Eureka 发现 CPU 经常跑满,导致很多Eureka Client 实例连接 Eureka Server 出现异常。跟了一下代码发现罪魁祸首竟然是 Spring Security 的 PasswordEncoder 出现性能问题;默认 PasswordEncoder 是BCryptPasswordEncoder 每次encode 需要几百毫秒,慢的时候甚至超过一秒。所以觉得降低安全性使用MessageDigestPasswordEncoder("MD5..原创 2021-07-29 17:47:39 · 704 阅读 · 0 评论 -
Intellij IDE 插件--DocumentAssistant 自动RESTful API 文档生成
DocumentAssistant目前Document Assistant 插件已经上传到 Intellij IDE 官方Plugin repository 当中,大家可以在Intellij IDE 的 plugin Markerplace 下载今天先介绍一下我的新开发的一个插件,之前看了很多自动生成文档的各个方案。但是想0侵入性是不可能的,但是今天我希望通过intellij ...原创 2019-03-08 16:25:19 · 6454 阅读 · 47 评论 -
按钮级别的动态权限实现方案【原创思想】
按钮基本的权限校验实现目录简述核心类一、Action 类二、Menu 类三、Role 类分析权限配置定义和读取一、Action配置二、菜单配置三、配置读取生成权限表提供接口配置角色权限校验登录结尾简述 哈哈哈哈哈哈,我答应会经常更新的。很好,再一次做不到,打脸!来来来写写博客吹吹牛逼来了! 是这样的目前很多业...原创 2019-03-08 15:41:55 · 5033 阅读 · 4 评论 -
SpringBoot 基于SpringFox Swagger REST API文档自动生成
SpringBoot 基于SpringFox Swagger REST API文档自动生成 一、maven 配置二、初始化Swagger2的配置三、Controller的配置四、启动项目查看Swagger-UI五、直接通过Swagger UI 调用接口 感觉有一阵子都没有写博客了,因为工作比较忙也有一段时间没有去更新了。希望过年休息这...原创 2019-01-23 17:58:11 · 384 阅读 · 0 评论 -
Intellij IDE 插件开发--DDLCreator
多说两句开场白,很久都没有写博客了。。。 因为最近都在深入的去看elasticsearch,希望之后会有时间写一下关于elasticsearch的笔记。最近发现开发过程当中,我会不经意的去想写一些小东西提高整个开发效率,例如我写了给予AOP的Service方法级别的权限校验框架,给予AOP写的全局方法级别的参数校验框架等。当然,我也希望以后会有机会把这些框架贡献出来让大家参考和吐槽,但是这两天...原创 2018-10-30 13:25:19 · 2153 阅读 · 4 评论 -
JAVA8--默认方法
JAVA8--默认方法 今天这个内容并不多比较轻松一点,默认方法在JAVA8的出现更加的是为了弥补这次JAVA8接口升级所带来的一系列问题。对于一些旧的接口进行升级一般我们都无可避免需要对实现这个接口的所有类进行新接口方法的实现。事实上这个东西是有必要的吗?答案未必··· 我们都知道JAVA当中是没有多继承这一说,不像是C++等其他语言拥有多继承的特性。当初我看过很多书本都说JAVA...原创 2018-08-22 09:29:42 · 2597 阅读 · 0 评论 -
JAVA8--Stream流
Stream流在JAVA8中添加Stream,这个真的是一个好东西。学习使用Stream会有效提高开发效率。究竟流有什么用呢?简单来说就是从数据源当中处理操作并输元素序列的一个东西,好像说得不太好。来段代码看看吧!我们有一个列表,里面筛选出女同学放到另外一个列表当中,以前我们是这样做的。先给出一个实体Student类(这个实体类会在例子当中使用)public class Studen...原创 2018-08-13 12:24:42 · 1152 阅读 · 0 评论 -
JAVA8--Lambda表达式
JAVA8--Lambda表达式 发现很久也没有写过博客了,也谢谢大家的关注,最近我会继续更新博客。在这段时间里面我打算继续为我的博客添加一下新的内容,包括 JAVA8的语法特性、继续完成Netty框架的介绍、JAVA多线程、docker jenkins在项目中的运用等。 在是回归到今天的主题上面来 ,lambda表达式。其实在其他语言上面已经早早出现了...原创 2018-08-07 12:01:15 · 745 阅读 · 0 评论 -
SpringBoot系列(1)---无配置文件配置基础1
今天开始写关于SpringBoot的笔记,当然这个笔记也是主要给我自己看的。如果有其他开发者也在看我写的笔记的话,提醒一下 SpringBoot的笔记是建基于你已经熟悉使用Spring的前提地下去看的,当然我也会尽可能去重温一下Spring的东西。关于SpringBoot 这个技术其实近段时间随着SpringCloud越来越火(所谓的微服务)SpringBoot也随着火起来了。其实Spring原创 2017-07-05 21:34:10 · 1846 阅读 · 0 评论 -
Redis 事务和Pipeline--JAVA(系列文章三)
在传统的关系型数据当中,使用事务是我们最常见的操作。来到Redis当中这里有事务吗,Redis是支持事务的。但是这个事务跟关系型数据库的传统事务不一样,在关系型数据库当中我们可以对出现错误的sql进行回滚,但是在redis是没有这一说的。在Redis事务当中,所有操作都是在提交的统一执行的,所以并没有回归操作,其实这个事务更像是批处理的感觉。以下就是事务常用的命令:1、watch2、u原创 2017-06-13 16:53:57 · 3069 阅读 · 0 评论 -
SpringMVC 异常处理HandlerExceptionResolver 笔记(八)
SpringMVC提供4个异常处理解析器的实现 DefaultHandlerExceptionResolver SimpleMappingExceptionResolver AnnotationMethodHandlerExceptionResolver ResponseStatusExceptionResolver SpringMVC默认就装配了DefaultHandlerException原创 2017-05-27 11:26:05 · 1913 阅读 · 0 评论 -
SpringMVC 静态资源&拦截器(interceptor and static resource) 笔记(七)
SpringMVC会在dispatchServlet拦截请求,所有在我们配置的时候,如果将所有请求都拦截了,连同静态资源也会拦截。有两种方式对静态资源进行访问:1、配置default-servlet-handler,SpringMVC上下文中定义一个DefaultServletHttpRequestHandler,它会检查DispatchServlet的URL。然后如果发现是静态资源,就由原创 2017-05-26 17:20:28 · 1128 阅读 · 0 评论 -
SpringMVC 之Resolver视图解析器笔记(六)
Spring所支持的Resolver 非常多,但是我们最为常用的还是 InternalResourceViewResolver 。常规就是贴出一下InternalResourceViewResolver的常用配置:class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix=原创 2017-05-26 15:48:42 · 6155 阅读 · 0 评论 -
SpringMVC 之validator验证笔记(五)
SpringMVC支持的数据校验是JSR303的标准,通过在bean的属性上打上annotation @NotNull @Max等进行验证。JSR303提供有很多annotation借口,而SpringMVC对于这些验证是使用hibernate的实现,所以我们需要添加hibernate的一个validator包: org.hibernate hibernate-valid原创 2017-05-24 16:54:23 · 11951 阅读 · 0 评论 -
SpringMVC 之conversionSerivce笔记(四)
ConversionSerivce 最重点的目的是将http的请求参数以什么形式进行类型转换,简单来说HTTP请求都是以String的方式进行传输的,但是我们是入参却是多姿多彩的数据类型,所以SpringMVC是通过ConversionSerivce进行参数的绑定转换的。其实定义相应的converter的思想非常简单,首先要知道converter是处理什么类型转什么类型的,其次就是做实际的转型原创 2017-05-24 15:13:03 · 4024 阅读 · 0 评论 -
SpringMVC 之模型数据笔记(三)
SpringMVC 处理数据模型还是比较简单,概念都比较一致最经典的就是ModelAndView,以下就是SpringMVC所提供的数据模型:1、ModelAndView 作为请求处理方法的返回类型,在该对象中可以添加相应属性到数据模型当中2、@ModelAttribute: 方法入参注解后,入参会自动放置到数据模型当中。3、Map 和 Model :入参为org.springfra原创 2017-05-24 14:26:57 · 338 阅读 · 0 评论 -
SpringMVC之HttpMessageConverter&RestTemplate笔记(二)
HttpMessageConverter 是一个对请求信息进行直接转换的一个接口,就是说不通过resolver直接将对象直接响应并进行转换,而且HttpMessageConverter接口也可以对请求进行对象的直接转换。有兴趣的同学可以细心研究其接口的方法并去实现自己的MessageConverter,但是Spring所提供的HttpMessageConverter已经足够强大。以下就列出以下Sp原创 2017-05-24 11:03:09 · 4946 阅读 · 0 评论 -
SpringMVC 基础笔记(一)
SpringMVC 处理模型:1、所有request请求,如果需要交由SpringMVC处理,必须在DispatcherServlet对请求进行处理2、所有请求根据请求的信息,通过handlerMapping进行获得相关的Handler映射。3、根据handler的映射信息,获得handler然后通过handlerAdapter对handler进行统一封装代用。3、然后根据hand原创 2017-05-22 12:17:40 · 358 阅读 · 0 评论 -
Redis起步安装及基本命令--JAVA(系列文章一)
Redis的一些介绍我也不说的比较详细了,redis是一个内存数据库,同时也支持持久化操作,对比与memcached来说多了几种数据存储结构,所以基本上你用了redis之后你就会慢慢疏远memcached的,我就是一个典型的例子,因为redis提供的HASH和ZSET实在是非常好用了,对于一些场景来说简直是神器。而且redis的复制技术让存储集群成为了可能。这系列文章我会使用JAVA作为操作Red原创 2017-05-12 11:22:36 · 512 阅读 · 0 评论 -
SpringJDBC
SpringJDBC是对原生JDBC的一个封装,它不是一个ORM框架,但是对于一些小项目来说,它的所提供的功能就已经卓卓有余了,而且对于一些比价复杂的SQL 原声的JDBC还是有它一定的优势,所以今天我就将SpringJDBC的知识写一下。首先Spring为各种持久化技术提供模板类,这样做有两点,第一点方面操作,第二点你让hibernate的session和connection等这些线程不安全原创 2017-05-06 10:43:59 · 530 阅读 · 0 评论 -
Spring AOP 之 Schema配置切面
这篇文章是基于Spring AOP 之 Aspect文章的一个延伸,如果不熟悉如何使用AspectJ annotation去配置切面的话 建议先去看《Spring AOP 之 Aspect》 下面我们就使用一个比较简单的例子介绍如何使用spring配置文件去配置切面:定义Aspect类,但是我们不标记任何AspectJ的annotation:public class Aspec原创 2017-05-03 17:46:12 · 439 阅读 · 0 评论 -
Spring AOP 之 Aspect
之前我用了很多篇幅去介绍AOP的,现在我们使用一个最为常用的AOP使用方式,使用基于AspectJ的表达式进行定义切面,我们采用两种方式一种是通过annotation的另外一种就是通过XML进行配置的方式,在AspectJ中是使用annotation的方式进行使用的,所以我们首先会介绍一下如何去使用annotation去完成我们的代理功能。在我们使用@AspectJ切面的前提是,我们在原创 2017-05-02 13:56:35 · 947 阅读 · 0 评论 -
SpringAOP之切点和切面的深入理解
在看这篇文章之前需要首先理解 Spring AOP 增强的知识,如果你想先了解增强的知识可以移步到 我另外一篇博客《Spring动态代理之详细DEBUG日志模式》里面有关于增强的知识 如果除了增强还有 关于CGlib 和 Proxy 代理的知识不太理解可以再移步到 《动态代理之详细DEBUG日志模式》好了,目前是建基于你都明白 动态代理 和 Spring 增强的基础上进行对Spring 中原创 2017-04-27 15:30:45 · 16322 阅读 · 0 评论 -
Spring动态代理之详细DEBUG日志模式
在我上一篇文章已经讨论过了,关于利用JDK 中的 Proxy 和 CGlib 创建虚拟子类的方式进行动态代理,Spring ProxyFactory 整合了两者还做了一堆Advice接口方便我们去做增强。有以下增强接口MethodBeforeAdvice,AfterReturningAdvice,ThrowsAdvice 后面还有一会再说/** * Created by yanz原创 2017-04-26 16:16:03 · 3294 阅读 · 0 评论 -
动态代理之详细DEBUG日志模式
动态代理应该有很多人都清楚了,但是比较少人还记得怎样去实现动态代理,当然我们不是去使用springAOP去实现动态代理,而是使用JDK中的proxy和CGLib中的enhancer去实现。首先说明一下我们需要实现一个怎么样的功能,我目前需要实现的是一个详细的service层方法调用LOG,一般我们需要手动去打印例如传入什么参数了,那个方法被调用了,方法的耗时怎么样等等这些信息,这些在开发过程当原创 2017-04-26 14:08:39 · 3441 阅读 · 0 评论 -
Spring Bean的生命周期监听
关于Spring Bean的生命周期监听如下:public class User implements BeanFactoryAware,BeanNameAware,InitializingBean,DisposableBean { private BeanFactory factory; private String username; private Str原创 2017-04-26 11:13:13 · 907 阅读 · 0 评论