honghailiang的专栏

我思,故我在!

【Spring Boot实战】源码解析Spring Boot自动配置原理

一、简介 Spring致力于让Java开发更简单,SpringBoot致力于让使用Spring进行Java开发更简单,SpringCloud致力于基于SpringBoot构建微服务生态圈,让微服务开发更简单。随着这几年spring官网的更新可有看出spring发展的roadmap 网上有一...

2019-01-16 07:45:22

阅读数 262

评论数 1

【Spring实战】Spring注解配置工作原理源码解析

一、背景知识在【Spring实战】Spring容器初始化完成后执行初始化数据方法一文中说要分析其实现原理,于是就从源码中寻找答案,看源码容易跑偏,因此应当有个主线,或者带着问题、目标去看,这样才能最大限度的提升自身代码水平。由于上文中大部分都基于注解进行设置的(Spring实战系列篇demo大部分...

2017-07-12 15:55:31

阅读数 12076

评论数 4

【Android实战】----从Retrofit源码分析到Java网络编程以及HTTP权威指南想到的

一、简介接上一篇【Android实战】----基于Retrofit实现多图片/文件、图文上传 中曾说非常想搞明白为什么Retrofit那么屌。最近也看了一些其源码分析的文章以及亲自查看了源码,发现其对Java网络编程及HTTP权威指南有了一个很好的诠释。一直以来,都信奉一个原则,在这个新技术日新月...

2017-03-23 09:27:13

阅读数 2161

评论数 0

【Spring实战】----开篇(包含系列目录链接)

终于还是要对Spring进行解剖,接下来Spring实战篇系列会以应用了Spring技术的Java Web的应用mango为例,来分析Spring各个模块的技术,包括源码解析等,谨以此记!!!   【Spring实战】----开发环境配置 【Spring实战】----Spring配置文件的解...

2016-11-10 11:12:56

阅读数 4419

评论数 0

【工具推荐篇】在线诊断工具Arthas应用

一、背景 应用Arthas始于一次运行环境问题诊断,由于本地无法复现问题,因此需要在线上调试,通常的方法是加log,重新打包部署,复现问题,但是过程太过复杂,因此接触到了Arthas,也要感谢团队成员的贡献。 二、Arthas是什么 这个官网都有很详细的介绍https://alibaba.g...

2019-02-28 08:56:50

阅读数 83

评论数 0

基于Java Swing编写的简易运费计算工具

两年前给媳妇儿做的一个基于Java Swing编写的简易运费计算工具,现开源,关键是思路(https://github.com/honghailiang/FreightSystem)。主要有两个部分实现:1)初始化数据  2)用swing绘制系统并执行业务逻辑 一、初始化数据 从excel中读...

2018-12-18 11:26:17

阅读数 283

评论数 0

Oracle中varchar2类型字段长度限制使用问题

为纪念中华人民共和国建军90周年,特此一篇,以此纪念,我军威武!!!一、问题背景项目中商品发布,却没有保存成功。二、问题定位初步判断向数据库中保存时出现了错误,查看日志文件,由于日志文件过大就采用grep进行搜索(再一次说明grep 的强大)其中 “ReserveProductService.up...

2017-08-01 11:45:03

阅读数 728

评论数 0

Hibernate中用left join(左外连接)查询映射中没有关联关系的两个表记录问题

一、问题背景分账表split_summary结构如下:create table SPLIT_SUMMARY ( uuid VARCHAR2(32) not null, star_tdate VARCHAR2(26) default '', ...

2017-07-10 17:01:32

阅读数 21449

评论数 0

Oracle数据库中字段定义为Char类型,Hibernate用该字段进行动态绑定参数查询,获取不到结果的问题

一、问题背景产生环境:oracle数据库,hibernate操作定义了一个表 create table STORE_INFORMATION ( id CHAR(32) not null, name VARCHAR2(254) default '...

2017-06-27 10:02:35

阅读数 1572

评论数 0

【Spring实战】Spring容器初始化完成后执行初始化数据方法

一、背景知识在做WEB项目时,经常在项目第一次启动时利用WEB容器的监听、Servlet加载初始化等切入点为数据库准备数据,这些初始化数据是系统开始运行前必须的数据,例如权限组、系统选项、默认管理员等等。而项目采用了Spring依赖注入来管理对象,而servlet并不受Spring的管理。若此时在...

2017-06-16 16:43:17

阅读数 31038

评论数 3

【Java实战】源码解析Java SPI(Service Provider Interface )机制原理

一、背景知识 在阅读开源框架源码时,发现许多框架都支持SPI(Service Provider Interface ),前面有篇文章JDBC对Driver的加载时应用了SPI,参考【Hibernate实战】源码解析Hibernate参数绑定及PreparedStatement防SQL注入原理 ,...

2017-05-24 14:44:44

阅读数 1339

评论数 0

【Java实战】源码解析为什么覆盖equals方法时总要覆盖hashCode方法

1、背景知识本文代码基于jdk1.8分析,《Java编程思想》中有如下描述:另外再看下Object.java对hashCode()方法的说明:/** * Returns a hash code value for the object. This method is * sup...

2017-05-15 11:05:27

阅读数 3427

评论数 0

【Hibernate实战】源码解析Hibernate参数绑定及PreparedStatement防SQL注入原理

本篇文章涉及内容比较多,单就Hibernate来讲就很大,再加上数据库驱动和数据库相关,非一篇文章或一篇专题就能说得完。本文从使用入手在【Spring实战】----Spring4.3.2集成Hibernate5.2.5 基础上继续深入研究。本文包含以下内容:SQL语句在数据库中的执行过程、JDBC...

2017-05-11 09:43:02

阅读数 2676

评论数 0

再读《Java编程思想 》

前段时间在豆瓣上无意间看到一个帖子“我为什么把thinking in java 读了10遍”,是11年的帖子,下面评论至今,各种声音都有,不过大多数还是佩服和支持的。我个人来讲也是非常支持的,而且也打算再读《Thinking in Java》,上学那会老师再三强调:“读书百遍,其义自见!”,但是对...

2017-04-21 11:27:49

阅读数 9764

评论数 3

Java程序员应该了解的10个面向对象设计原则

一、题前话 本人一直崇尚一个原则,“我思,故我在!”。一直以来忙于编码,但是不甚如人意(写了较多重复性、耦合性太强的代码)。行有行规,面向对象编程的Java语言也不例外,遵循其相关原则,才能高效快速的编写高性能的代码。那么期间过程学习很重要,从一开始的基础知识学习,到大量的编写代码,回过头来再将学...

2017-03-06 16:03:18

阅读数 1949

评论数 0

Gradle构建并自动部署Java Web项目到远程服务器

思路介绍:1)停止对应项目的tomcat服务器 2)删除webapps其下的对应项目文件 3)构建war包并将war包传送到tomcat服务器webapps目录下 4)启动tomcat 一、环境配置 myeclipse2014、tomcat7.0.67(服务器端)、gradle2.14、Build...

2017-02-09 11:30:46

阅读数 9306

评论数 3

【Spring实战】----Security4.1.3鉴权之美--基于投票的AccessDecisionManager实现及源码分析

一、背景知识 Spring实战篇系列----Security4.1.3认证过程源码分析 和Spring实战篇系列----Security4.1.3实现根据请求跳转不同登录页以及登录后根据权限跳转到不同页配置 中均有提到,每一次请求都会走Security Filter,鉴权的过滤器为FilterSe...

2016-12-29 13:09:07

阅读数 6446

评论数 0

【Spring实战】----Security4.1.3认证过程源码分析

上一篇的配置中基本上涵盖了认证过程中的各种情况,现通过时序图对其用到的Security源码进行分析认证时序图上面两幅图(分别是鉴权过程和认证登录过程)中的操作过程(图中不全)涵盖了下面的认证过程如果用户直接访问一个受保护的资源,那么认证过程将如下:1、FilterSecurityIntercept...

2016-12-21 11:29:15

阅读数 2120

评论数 0

【Spring实战】----Security4.1.3实现根据请求跳转不同登录页以及登录后根据权限跳转到不同页配置

一、背景介绍 上一篇最后总结说了: 1)被认证请求被FilterSecurityInterceptor拦截看有没有对应权限,如果没有抛异常给ExceptionTranslationFilter 2)ExceptionTranslationFilter缓存原请求,利用LoginUrlAuthenti...

2016-12-21 09:53:37

阅读数 14372

评论数 2

【Spring实战】----security4.1.3认证的过程以及原请求信息的缓存及恢复(RequestCache)

一、先看下认证过程 认证过程分为7步: 1.用户访问网站,打开了一个链接(origin url)。 2.请求发送给服务器,服务器判断用户请求了受保护的资源。 3.由于用户没有登录,服务器重定向到登录页面 4.填写表单,点击登录 5.浏览器将用户名密码以表单形式发送给服务器 6.服务器验证...

2016-12-15 16:20:10

阅读数 6314

评论数 0

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