Spring 是个轻量级开源框架,主要以 IoC(Inverse Of Control: 控制反转)和 AOP(Aspect Oriented Programming:面向切面编程)为内核的容器框架。作为业界使用框架中的基础框架,我一直只是简单应用而未曾有过深入挖掘,这次有些时间就做一个学习总结, 对 Spring 内部原理进行剖析并分享出来~

分享内容大致分为:AOP 的基本使用,AOP 的配置技巧,AOP 基本原理剖析


2021-04-09 23:14:50 JavaSpringAOP

Spring 是个轻量级开源框架,主要以 IoC(Inverse Of Control: 控制反转)和 AOP(Aspect Oriented Programming:面向切面编程)为内核的容器框架。作为业界使用框架中的基础框架,我一直只是简单应用而未曾有过深入挖掘,这次有些时间就做一个学习总结, 对 Spring 内部原理进行剖析并分享出来~

分享内容大致分为:IoC 的基本使用,IoC 的配置技巧,IoC 基本原理剖析


2021-04-09 23:14:24 JavaSpringIoC

MyBatis 是个持久层框架,以我曾经的眼光那些框架就是个辅助开发的工具,今年出个A,明年又出来个B,只要弄清楚原理来的再多也不过是老酒装新坛,换汤不换药的东西,但是遇到面试官刁钻的面试题就分分钟教你做人了!(我是谁?我在哪?555~)所以本着做学问的态度,我觉得有必要剖析一下分享出来~

分享内容大致分为:MyBatis 基本使用,MyBatis 原理剖析,实现自己的 XXBatis


2021-03-17 16:47:24 JavaMyBatis

翻翻代码无意中发现这个写法还挺有意思,整理下写个Demo发出来供大家一起玩耍~

大致原理就是通过Spring的@Component和@Autowired注解将策略Service自动装配到工厂中一个Map中,为了方便管理使用了一个策略类型的常量类(你也可以写成配置文件,我记得有些注解内是支持EL表达式的,请自行尝试),在工厂中把常量类的值传进来就可以通过Map定位到策略Service了。

不说废话了,直接上代码~


2020-05-13 21:40:54 JavaSpring设计模式

今天本来是要研究下Optional判断空集合和抛出异常的问题,结果测试时没有数据,又生成个name1、2、3...觉得太LOW了,想来个中文的,期间也想把Random的Stream与汉字生成结合起来,想采用位运算方式,结果生成出来了,但是有些乱码,最后一步步整出来个这么玩意~ 起码算是对汉字GB2312编码有了些认识,整理了些资料进行了调试,贡献出来~


2020-05-10 19:04:18 JavaRandomStream

在Spring项目中我习惯使用@Autowired来注入Service层或者Dao层,在一次偶然我在静态方法中查询数据库数据,而报了NullPointerException,一路找来发现Mapper为Null,分析原因发现Spring不支持依赖注入static静态变量,静态变量/类变量不是对象的属性而是一个类的属性,spring则是基于对象层面上的依赖注入,好了不罗嗦了,下面给出解决方案直接上代码。


2020-01-13 22:10:26 JavaSpring

常量的简单理解就是不会变化的量,在我们程序开发时总会遇到这么一些,例如状态类:开机/关机/异常,颜色类:黄/红/蓝/绿 等等。运用的方式也有很多,直接声明或写死(以前年轻经常这么干以为很省事,事实证明修改及出问题排查时给自己找不痛快,极度不推荐)、常量类、枚举等。此次我们这里不讨论用哪种方式,我主要用的枚举并应用了下表驱动,下面我们直接以代码说明。

先上个我以前写的,或者说是常用的通过值获取枚举的方法:

public static MyEnum getByCode(int code) {
    for (MyEnum element : values()) {
        if (element.code.equals(code)) {
            return element;
        }
    }
    return null;
}
1
2
3
4
5
6
7
8

2019-12-29 12:26:00 Java枚举设计模式优化

我们这次从几个一般常见的问题分析,主要有接口请求过慢或超时,程序突然崩(挂)了,CPU、内存居高不下或忽高忽低,硬盘容量不足等,这些可能是各种情况造成,我们从内存、CPU、线程、网络等(一般都是业务代码有问题)角度分析。


2019-12-24 22:24:32 JavaJVMGC优化

写代码是日益精进的不是一蹴而就的,以前写代码就是各处借鉴,然后完成项目的需要就放在那里了,时间长了接触的多了,再来看之前代码总觉得哪里不太对劲(简直垃圾,这能是我写的?),觉得需要改变,这次顺便记录下来,也分享给大家,相当于优化轨迹、版本控制等等,以后还有可能改变,但是最终有迹可循~ 不会麻爪~


2019-12-16 13:17:14 JavaRedisJedis

以前研究过日志相关配置,自己针对当时项目草草配置了一个,为了高逼格又把注释什么都删掉了,后来新的项目也就是拿来就用,这次需要针对项目进行配置将日志再细化等,注释没有了,抓瞎了。。。所以这次特意收集相关资料,分析测试整理一份配置文件,并记录下来~ 防止以后又忘记了~还找不到了~


2019-12-16 13:16:21 JavaLogback日志
1234 下一页 跳转至 前往