首页
学习
活动
专区
工具
TVP
发布

JackieZheng

专栏成员
150
文章
184754
阅读量
52
订阅数
Spring Boot系列——AOP配自定义注解的最佳实践
AOP(Aspect Oriented Programming),即面向切面编程,是Spring框架的大杀器之一。
JackieZheng
2018-12-12
9530
告别set和get,两大利器轻松搞定model转换
场景一:一般我们遇到需要新建model,常规做法就是创建一个类,老老实实的定义好model中的所有属性,一般来说属性对应的set方法和get方法都是少不了的,有时候还需要toString甚至equals和hashCode方法。
JackieZheng
2018-09-28
5450
Spring读书笔记——bean加载
我们的日常开发几乎离不开Spring,他为我们的开发带来了很大的便捷,那么Spring框架是如何做到方便他人的呢。今天就来说说bean如何被加载加载。 我们在xml文件中写过太多类似这样的bean声明 <bean id="jsonParser" class="com.jackie.json.FastjsonJsonParser" /> 那么这样的声明是如果被Spring读取并加载的呢? DefaultListableBeanFactory 继承关系 public class DefaultListableB
JackieZheng
2018-01-16
5750
Spring读书笔记——bean解析
前情回顾 上篇《Spring读书笔记——bean加载》我们从代码角度介绍了有哪些类负责解析XML文件,又是如何一步步从XML格式脱变成我们熟悉的bean的,直到DefaultBeanDefinitionDocumentReader的registerBeanDefinitions方法。我们抽丝剥茧,终于快看到Spring是如何解析bean的代码了。 在此之前,我们回一下上篇看到过的主要类和方法 XmlBeanFactory(XmlFactory) -> XmlBeanDefinitionReader(l
JackieZheng
2018-01-16
4960
Spring读书笔记——bean创建(下)
有关Spring加载bean系列,今天这是最后一篇了,主要接上篇对于从Spring容器中获取Bean的一些细节实现的补充。 《Spring读书笔记——bean加载》——Spring如何加载消化一个xml配置文件 《Spring读书笔记——bean解析》——Spring如何将xml文件的各种标签转换为BeanDefinition并注册到Spring容器下 《Spring读书笔记——bean创建(上)》——概述Spring如何从容器中取出需要的那个Bean 从缓存中加载单例 protected Object g
JackieZheng
2018-01-16
6040
Spring读书笔记——bean创建(上)
通过《Spring读书笔记——bean加载》和《Spring读书笔记——bean解析》,我们明白了两件事。 Spring如何加载消化一个xml配置文件 Spring如何将xml文件的各种标签转换为BeanDefinition并注册到Spring容器下 现在,我们理所当然的还差bean是如何被创建出来这一环节了。 从getBean说起 我们经常使用下面的方式实现先加载xml文件,然后获取相应的bean实例 BeanFactory beanFactory = new ClassPathXmlApplicati
JackieZheng
2018-01-16
6990
Spring实战——无需一行xml配置实现自动化注入
  已经想不起来上一次买技术相关的书是什么时候了,一直以来都习惯性的下载一份电子档看看。显然,如果不是基于强烈的需求或强大的动力鞭策下,大部分的书籍也都只是蜻蜓点水,浮光掠影。   就像有位同事说的一样,有些书没有真真切切的经历过,你去看,看了就是看了,只是没有留下多少印象。我回头仔细想了想,大概就是这样,好比你去看设计模式相关的书籍,了解到了适配器模式,但是还是不够深刻。比如说某天你去面试的时候别人会问你,"你了解过适配器模式么,你有过这个模式的开发经历么,你能否画出你使用适配器模式的UML图..." 如
JackieZheng
2018-01-16
7360
Spring实战——通过Java代码装配bean
  上篇说的是无需半行xml配置完成bean的自动化注入。这篇仍然不要任何xml配置,通过Java代码也能达到同样的效果。   这么说,是要把上篇的料拿出来再煮一遍? 当然不是,上篇我们几乎都在用注解的方式如@ComponentScan @Component等就完成了自动化注入,但是这些注解不是无所不能的,有些地方它也是望尘莫及的,比如第三方类库,你总不能跑到人家jar包或者库里面悄悄的加上这些注解再伪装成原来的样子用吧,太丑了! 所以,Spring可以通过显示配置的方式来解决,第一种前面有介绍过,就是通过
JackieZheng
2018-01-16
1.5K0
Spring实战——XML和JavaConfig的混合配置
前言 看了园龄已经两年多了,再不能写完内容直接点击发布,留下一片密密麻麻的文字让别人看的头昏脑涨。所以现在每次写完主要内容后,还需要对于格式稍稍调整下。那么有没有什么编辑模式能够在你写完文章后基本也把格式调的八九不离十,不会辣眼睛呢,当然有,那就是Markdown。 本篇就在Markdown编辑环境下说说Spring的导入和混合配置 上篇提到了关于Spring的显示配置方式有两种,一种是基于XML配置,一种是基于JavaConfig的方式配置。对于这两种配置方式并不是互斥关系,相反,他们两能够相互融合,有
JackieZheng
2018-01-16
1.3K0
Spring实战——Profile
  看到Profile这个关键字,或许你从来没有正眼瞧过他,又或者脑海中有些模糊的印象,比如除了这里Springmvc中的Profile,maven中也有Profile的标签。   从字面意思来看,Profile表示侧面,那什么情况下才会用到侧面这个功能呢,而侧面具体又有什么含义呢   打一个比方,对于数据库的配置问题,在开发的眼中可以使用嵌入的数据库,并且加载测试数据(后面会给出代码示例)。但是在测试的眼中,可能会配一个数据库连接池类似这样 @Bean(destroyMethod="close") pub
JackieZheng
2018-01-16
1.2K0
学习SpringMVC——说说视图解析器
  各位前排的,后排的,都不要走,咱趁热打铁,就这一股劲我们今天来说说spring mvc的视图解析器(不要抢,都有位子~~~)   相信大家在昨天那篇如何获取请求参数篇中都已经领略到了spring mvc注解的魅力和套路了。搭上@RequestMapping的便车,我们可以去到我们想去的地方(方法)去,借助@RequestParam、@PathVariable等我们可以得到请求中想要的参数值,最终还能够通过神奇的“return SUCCESS”到达我们的目的地。今天主要就来说说在达到目的地的路上,我们都经
JackieZheng
2018-01-16
7080
学习Spring——依赖注入
前言:   又开始动笔开了“学习Spring”系列的头……   其实一开始写“学习SpringMVC”的几篇文章是出于想系统的了解下Spring以及SpringMVC,因为平时在公司中虽然每天都在使用Spring相关的框架或者其他,但是绝大部分都是已经写好配置文件,做好相关配置,而我们能做的就是写一些与业务逻辑有关的Controller层面或者Service层面的代码。毕竟所做的产品成熟了,或者说框架越来越成熟了,我们对于底层原理的东西关注的就少了,认识也浅了。   个人感觉,颇具讽刺意味的是,“Sprin
JackieZheng
2018-01-16
7370
学习Spring——两个你熟悉的不能再熟悉的场景使用
  最近公众号受邀获取了留言和赠送模板的权限,小开心(欢迎去公众号JackieZheng围观)。   我们大致的了解了Spring这个框架对于依赖注入的使用和诠释可谓是淋漓尽致。因为有了Spring的这个IOC也好DI也好,我们把上街买菜的事情变成了菜主动送上门的活,这样的“生活方式”大大的提高了我们对于Spring框架的用户体验。   今天主要说两件事,想必凡是稍稍接触过Spring框架开发的对于这些场景肯定都是眼熟透了——Spring如何使用多个外部属性文件以及基于注解方式配置Bean。 1. Spri
JackieZheng
2018-01-16
6270
学习SpringMVC——如何获取请求参数
  @RequestParam,你一定见过;@PathVariable,你肯定也知道;@QueryParam,你怎么会不晓得?!还有你熟悉的他(@CookieValue)!她(@ModelAndView)!它(@ModelAttribute)!没错,仅注解这块,spring mvc就为你打开了五彩斑斓的世界。来来来,不要兴(mi)奋(hu),坐下来,我们好好聊聊这么些个注解兄弟们~~~(wait, 都没有听过? 好,来,你坐前排,就你!) 一、spring mvc如何匹配请求路径——“请求路径哪家强,Req
JackieZheng
2018-01-16
1.8K0
学习SpringMVC——从HelloWorld开始
前言:   时隔十二年,中国女排最终过关斩将,用3:1的成绩证明了自己的实力,霸气夺冠,为中国赢得了一枚意义非常的金牌。这是一次全民的狂欢,一场视听盛宴,带给我们不仅是熠熠生辉的金牌,更传递出的是一种女排精神。   每每得分的时候,总能看到球员们歇斯底里的咆哮和欢呼,因为每一分都来的太不容易。   其实码农也是如此,每每解决掉一个bug的时候,内心的舒畅和激动,好似经历了没有尽头的爬坡,几度已经快精疲力尽或是达到了精神崩溃的边缘之后,陡然迎来了下坡,这种感觉好比赛场上女将们得分后已经无法用言语来表达心情,而
JackieZheng
2018-01-16
7260
学习SpringMVC——你们要的REST风格的CRUD来了
  来来来,让一下,客官,您要的REST清蒸CRUD来了,火候刚刚好,不油不腻,请慢用~~~   如果说前面是准备调料,洗菜,切菜,摆盘,那么今天就来完整的上道菜,主要说的是基于REST风格实现数据的增删改查(CRUD)操作。 用料    entity:Employee + Department   对于这样的实体类大家肯定很熟悉,一个Employee就是一个员工,一个Department就是一个部门,一个员工只属于一个部门,一个部门可以对应多个员工。   Employee.java package com
JackieZheng
2018-01-16
1.1K0
学习SpringMVC——国际化+上传+下载
  每个星期一道菜,这个星期也不例外~~~   一个软件,一个产品,都是一点点开发并完善起来的,功能越来越多,性能越来越强,用户体验越来越好……这每个指标的提高都需要切切实实的做点东西出来,好比,你的这个产品做大了,用的人多了,不仅仅再是上海人用,北京人用,还有印度人用,法国人用等等,可以说这个产品已经走上了国际化的大舞台。当印度的哥们输入url访问产品时,界面上弹出“欢迎您,三哥”,估计哥们当场就蒙圈了。而这个时候,国际化就应运而生了。   要做国际化这道菜,真的没有想象中的那么复杂,反而很简单,不信你看
JackieZheng
2018-01-16
7550
学习SpringMVC——拦截器
  拦截器,顾名思义就是用来拦截的。   那什么是拦截,又为什么要拦截。对于Spring MVC来说,拦截器主要的工作对象就是用户的请求,拦截下来之后,我们可以在拦截的各个阶段悉心呵护【为所欲为】。常
JackieZheng
2018-01-16
6820
照虎画猫写自己的Spring
从细节跳出来 看了部分Spring的代码,前面用了四篇内容写了一些读书笔记。 回想起来,论复杂度,Spring够喝上好几壶的。他就像一颗枝繁叶茂的大树,远处看,只是一片绿;走近看,他为你撑起一片小天地,为你遮风避雨;往深了看,他盘根错节,根基夯实。 在看Spring代码的过程中,我几度有些迷糊,因为一行简单的函数调用,你要是一直跟踪下去,从一个函数跳到另一个函数,又从一个类进入到另一个接口或者代理类,可能原本你只想知道函数做了什么,等回过头来,你发现已经找不到回去的路…… 所以,每写一篇的时候,我都用一两
JackieZheng
2018-01-16
6260
照虎画猫写自己的Spring
从细节跳出来 看了部分Spring的代码,前面用了四篇内容写了一些读书笔记。 回想起来,论复杂度,Spring够喝上好几壶的。他就像一颗枝繁叶茂的大树,远处看,只是一片绿;走近看,他为你撑起一片小天地,为你遮风避雨;往深了看,他盘根错节,根基夯实。 在看Spring代码的过程中,我几度有些迷糊,因为一行简单的函数调用,你要是一直跟踪下去,从一个函数跳到另一个函数,又从一个类进入到另一个接口或者代理类,可能原本你只想知道函数做了什么,等回过头来,你发现已经找不到回去的路…… 所以,每写一篇的时候,我都用一两
JackieZheng
2018-01-16
6060
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档