自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

honghailiang的专栏

我思,故我在!

  • 博客(230)
  • 资源 (5)
  • 收藏
  • 关注

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

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

2019-01-16 07:45:22 1432 1

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

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

2017-07-12 15:55:31 19139 6

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

一、简介接上一篇【Android实战】----基于Retrofit实现多图片/文件、图文上传 中曾说非常想搞明白为什么Retrofit那么屌。最近也看了一些其源码分析的文章以及亲自查看了源码,发现其对Java网络编程及HTTP权威指南有了一个很好的诠释。一直以来,都信奉一个原则,在这个新技术日新月异的时代,如何在Java界立足,凭借的还是基本功,包括:Java基本知识,(Java编程思想、Effe

2017-03-23 09:27:13 2540

原创 【Android实战】----基于Retrofit实现多图片/文件、图文上传

一、再次膜拜下RetrofitRetrofit无论从性能还是使用方便性上都很屌!!!,本文不去介绍其运作原理(虽然很想搞明白),后面会出专题文章解析Retrofit的内部原理;本文只是从使用上解析Retrofit实现多图片/文件、图文上传的功能。二、概念介绍1)注解@Multipart从字面上理解就是与多媒体文件相关的,没错,图片、文件等的上传都要用到该注解,其中每个部分需要使用@Part来注解。

2017-03-17 12:58:49 5377 4

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

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

2016-11-10 11:12:56 5206

转载 《工业互联网标识解析 二级节点建设导则(2021年)》正式发布

2022年1月4日是2022年第一个工作日,经过2021年的尝试,不断的学习,决定转战工业互联网,我断定工业互联网是下一个风口,制造业是国之根本。转发一篇文章,以此为记!!!为推动工业互联网标识解析二级节点的建设和运营,引导标识解析体系高质量发展,构建开放创新的产业生态,工业互联网产业联盟标识工作组联合产业界及学术界各方力量编制了《工业互联网标识解析二级节点建设导则(2021年)》(以下简称“导则”)。《工业互联网标识解析二级节点建设导则》发布会于2021年12月24日在京召开,现场邀请了产学研用专..

2022-01-04 08:37:18 866

原创 【微服务实战】什么是微服务,微服务怎么实施?

今天来聊一聊微服务,初衷是:1、微服务现在确实很火 2、虽然大家张口闭口微服务,但是大家对微服务的理解确实千差万别,甚至有误解。

2020-06-04 09:03:15 1197

原创 【Quartz实战】源码解析Quartz分布式集群实现

一、简介之前的文章中已对quartz的使用有了一个初步的介绍【Quartz实战】quartz-2.2.3源码分析和【Quartz实战】Quartz与Spring的集成

2020-03-10 00:23:02 1907

原创 【数据处理】——利用Excel VBA批量将详细地址转换成省市区三级行政区划

一、背景导出的excel中只有详细地址,需要将详细地址解析出省市区三级行政区划收货详细地址 湖北恩施恩施小渡船街道办事处航空大道 四川省成都市武侯石羊场街道办事处蜀绣西路 二、处理思路1、首先想到的就是直接在excel中进行数据处理,由于数据量很大(几十万级别),因此用Java读取excel再处理的方式难度较大。2、由于详细地址中很多没有省市区相关标志,而...

2020-02-11 23:14:03 7509 9

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

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

2019-02-28 08:56:50 752

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

两年前给媳妇儿做的一个基于Java Swing编写的简易运费计算工具,现开源,关键是思路(https://github.com/honghailiang/FreightSystem)。主要有两个部分实现:1)初始化数据  2)用swing绘制系统并执行业务逻辑一、初始化数据从excel中读取数据,转化为对象(只保存基础数据:序列号、始发站、目的站、省份、100kg以下(元/kg)、100k...

2018-12-18 11:26:17 1883 1

原创 2018——幸福都是奋斗出来的

半年多没写博客了,今天上班第一天mark下,希望2018年继续奋斗,继续保持写博客的习惯。幸福都是奋斗出来的,响应号召!

2018-02-22 15:03:19 2422 1

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

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

2017-07-10 17:01:32 32673

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

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

2017-06-27 10:02:35 2628

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

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

2017-06-16 16:43:17 49788 9

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

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

2017-05-24 14:44:44 2025

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

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

2017-05-15 11:05:27 4972

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

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

2017-05-11 09:43:02 5191 1

原创 再读《Java编程思想 》

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

2017-04-21 11:27:49 12320 3

原创 【Android实战】----RecyclerView下拉刷新和上拉加载的简单实现

一、简介关于RecyclerView的介绍网上有很多文章,这里不做过多说明,也不与ListView相比较。本文旨在基于RecyclerView实现下拉刷新和上拉加载,简单的不能再简单了。

2017-03-14 10:56:13 1748 1

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

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

2017-03-06 16:03:18 2882

原创 【Android实战】----调用startActivityForResult()后,onActivityResult()立即执行的问题

一、问题描述遇到该问题两次了,决定在此记录,以观后效。问题现象就是题目中所说:调用startActivityForResult()后,onActivityResult()立即执行的问题二、代码配置Activity调用 Intent intent = new Intent(activity,InvoiceActivity.class); int

2017-02-21 08:55:19 4298 1

原创 程序猿214情人节专题----基于GitHub打造个人网站及Android的录制功能使用

一、先上幅效果图二、基于GitHub个人网站的打造1)先说下我个人的https://honghailiang.github.io/2)可参考http://blog.csdn.net/lmj623565791/article/details/51319147  如何利用github打造博客专属域名三、Android录制功能从android4.4之后开始有了

2017-02-15 10:26:24 2066

原创 【Android实战】----Android Retrofit2.1.0直接发送Json字符串到服务器

可以用@body注解(将数据添加到requestbody中)、设置retrofit header为json一、接口类public interface IHttpService { /** * * @param params * @return */ @POST("ad/getAds.do") Call getAds(@Bo

2017-02-10 15:55:37 8539

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

思路介绍:1)停止对应项目的tomcat服务器 2)删除webapps其下的对应项目文件 3)构建war包并将war包传送到tomcat服务器webapps目录下 4)启动tomcat一、环境配置myeclipse2014、tomcat7.0.67(服务器端)、gradle2.14、Buildship2.0(执行gradle任务用,直接在eclipse marketplace中安装即可)、

2017-02-09 11:30:46 13176 3

原创 【Android实战】----从Activity入手(编写BaseActivity)

关于Android实战篇系列,一直不知从何入手写。基本概念介绍对于实战篇系列来讲没有太大意义,本系列一如Spring实战篇系列所倡导的理念一样:知其然知其所以然,难点、疑点一网打尽(有点狂妄了)。还是决定从头开始,这里对基本概念不做过多介绍,主要介绍使用。一、背景知识说到Activity,做Android的一点都不会陌生,真正项目开发中不止会用到Activity,而且会抽象出BaseAct

2017-02-07 15:55:14 3779

原创 【Android实战】----开发环境配置

说到开发环境,Android studio的出现使Android的开发越来越方便,不用过多的配置,利用gradle构建,灵活。具体可以参见:Android Studio2的安装使用这里不做过多说明

2017-02-04 10:50:12 750

原创 【Android实战】----开篇(附Android开发常用的开源框架)

终于还是要进行Android实战开篇系列了,年初就说过要进行这个系列专题。Android是一个很大的话题,作为非资深Android开发工程师(只是两年的Android系统开发及两年app开发经验而已),这里只是将Android开发所需的基本只是及开发中所遇到的问题进行陈述,以Andriod app开发为例,磨刀不误砍柴工,这里还用到了常用的开源框架,先借鉴附上https://www.oschi

2017-01-23 09:30:27 2885

原创 【Android实战】----Android Retrofit是怎么将回调函数放到UI线程(主线程)中的(源码分析)

一、简介集成过Retrofit的猿们都知道,callback是运行在主线程中的,不用再通过异步机制处理。那么是怎么实现的呢,下面从源码角度进行分析,其中涉及到Android异步机制(Handler、Message、Looper、MessageQueue),猿们自行脑补。二、Retrofit的创建下面从Retrofit的创建开始,其中的秘密也在其中Retrofit mRetr

2017-01-11 11:27:02 10744

原创 【Android实战】----Android Retrofit2.1.0设置编码格式GBK

设置接口如下:public interface IHttpService { @FormUrlEncoded() @POST("userapi.do?method=getUserById&charset=gbk") Call getUserById(@FieldMap(encoded = true) Mapparams); @FormUrlEncoded

2017-01-09 15:51:27 9443 2

原创 【Android实战】----Android Studio2的安装使用

一、先说下使用体验1、程序猿就是好奇,喜欢新奇的东西,开发工具也不例外,从java Web开发的eclipse转到idea,再从Android开发的eclipse转到Android Studio,体验不错2、有人说Android Studio对硬件要求很高,我的电脑4G内存,i3处理器,只要不开Android模拟器跑着很顺3、还是要多接触新东西,这也是程序猿需要具备的基本素质,包括ap

2017-01-04 17:32:33 1002

转载 Android Butterknife 8.4.0 使用方法总结

转自:http://www.cnblogs.com/zhaoyanjun/p/6016341.html前言ButterKnife 简介ButterKnife是一个专注于Android系统的View注入框架,可以减少大量的findViewById以及setOnClickListener代码,可视化一键生成。项目github地址:https:

2017-01-04 11:06:05 622

原创 2016年度总结——在路上

今天是2016年最后一天上班的日子,今天过后2016年的工作就算告一段落了(虽然明天还有最后一场篮球活动),我个人有写东西的习惯,从小时候写日记到现在写工作总结,我都觉着是件很美好的事情。回望过去、展望未来!总结是对这一年工作、生活的回顾、反思,是对未来生活、工作的憧憬。还是那俗话:“既要低头拉车,也要抬头看天”,总结就是对此最好的诠释,也是对自己最好的年终礼物!       记得我写的201

2016-12-30 14:59:51 1971

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

一、背景知识Spring实战篇系列----Security4.1.3认证过程源码分析和Spring实战篇系列----Security4.1.3实现根据请求跳转不同登录页以及登录后根据权限跳转到不同页配置中均有提到,每一次请求都会走Security Filter,鉴权的过滤器为FilterSecurityInterceptor,其中会判断是否要对请求进行鉴权,以及需要鉴权的会基于投票的A

2016-12-29 13:09:07 9172

转载 安卓实战之如何快速搭建app架构

http://blog.csdn.net/u013278099/article/details/51485476?ref=myread前言最近公司的另一个项目又要立项了,作为公司的唯一安卓工程师任务来了(新来的移动端的老大说项目还是主要你负责,我就负责帮你们安排下进度),听了这话我是伤心的在这公司不管是几个还是1个安卓开发都是我来搭建,干着与工资不符的事情,好的一点是开发没有人

2016-12-27 14:48:01 849

转载 Android SDK目录结构解析及版本号区别

http://blog.csdn.net/aiynmimi/article/details/51028499今天又有人问Tools,Build-Tools,Platform-tools有什么区别,是干嘛的? 现在对SDK目录做一下总结阐述!SDK目录add-ons这里面保存着附加库,第三方公司为Android 平台开发的附加功能系统。比如GoogleMaps,当然你如果

2016-12-27 14:24:23 1684

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

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

2016-12-21 11:29:15 2535

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

一、背景介绍上一篇最后总结说了:1)被认证请求被FilterSecurityInterceptor拦截看有没有对应权限,如果没有抛异常给ExceptionTranslationFilter2)ExceptionTranslationFilter缓存原请求,利用LoginUrlAuthenticationEntryPoint入口跳转到登录界面3)用户在登录界面填写登录信息后,提交,经

2016-12-21 09:53:37 18442 3

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

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

2016-12-15 16:20:10 12257 1

原创 【Spring实战】----源码解析Spring Security4.1.3中的过滤器Filter配置

Spring Security的底层是通过一系列的Filter来管理的,每个Filter都有其自身的功能,那么这些Filter是怎么装配到系统中的?一、web.xml配置通常web使用会在web.xml中进行如下配置 springSecurityFilterChain org.springframework.web.filter.DelegatingFilterPr

2016-12-09 17:36:29 6569

Spring Security4.1.3跳转控制配置

该代码描述了Security实现根据请求跳转不同登录页以及登录后根据权限跳转到不同页配置 ,相关介绍可参见http://blog.csdn.net/honghailiang888/article/details/53765508

2016-12-23

spring-security4.1.3

本代码对spring4.3.2集成spring-security4.1.3进行示例

2016-12-08

SpringMVC4+Spring4+Hibernate5+MySQL5

本代码是SpringMVC4+Spring4+Hibernate5+MySQL5,其中继承了最新的Hibernate5

2016-12-01

SpringMango

springMVC的基本配置、及sitemesh、log4j2配置

2016-11-23

中国移动网管支撑系统总体技术规范

本规范给出了中国移动网管支撑系统三至五年总体框架规划,包括应用框架、数据框架、技术框架,是中国移动总部和31省网管支撑系统建设的依据,是中国移动网管支撑系统提供商必须遵循的指导性文件。总部和31省各个网管系统的建设要严格遵循本规范制定的框架,具体项目建设要求以总部另行下发的年度项目建设计划为准。

2010-10-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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