2018-12-01
Spring Boot缓存之Caffeine

什么是缓存

缓存就是将程序或系统频繁使用的对象保存在内存中,便于使用时可以快速调用,不必再去创建新的重复的实例或者重复调用接口。可以显著减少系统开销,提高系统效率。

阅读此文

2018-11-04
Spring Boot使用jetty作为Servlet容器

SpringBoot默认tomcat作为内置的Servlet容器.spring-boot-starter-web pom.xml文件description有如下描述.

Starter for building web, including RESTful, applications using Spring MVC. Uses Tomcat as the default embedded container

pom文件中有spring-boot-starter-tomcat依赖,spring-boot-starter-tomcat中又包含了tomcat.但是修改为jetty也十分简单.

阅读此文

2018-05-01
Spring Boot初识

1 What is Spring Boot

Spring Boot 是一个轻量级框架,可以完成 Spring 应用程序的大部分配置工作,能够快速创建可以直接运行的基于 Spring 的应用程序。Spring Boot 的目的是提供一组工具,以便快速构建容易配置的 Spring 应用程序。

阅读此文

2018-05-01
Spring AOP原理

我们知道声明式事务是通过spring 的aop实现的,先看spring aop的实现

Spring aop

注解属性解析

spring能完成AOP的代理,因为Spring有这样的配置

<aop:aspectj-autoproxy />

这一配置使得整个Spring项目拥有了AOP的功能.那么spring如何解析aop配置的呢?

阅读此文

2018-03-10
PECS

什么是PECS?

PECS:Producer Extends,Consumer Super。泛型的本质是参数化类型

意思是,如果参数化类型表示一个生产者,就使用<? extends T>,用于灵活读取,使得方法可以读取 E 或 E 的任意子类型的容器对象;

如果它表示一个消费者,就使用<? super T>,用于灵活写入,使得对象可以写入父类型的容器,使得父类型的比较方法可以应用于子类对象。

阅读此文

2018-02-01
lombok

1 lombok是什么

Lombok通过注解简化和消除一些必须有但很臃肿冗余的Java代码(如setter,getter…)的工具,通过使用对应的注解,在编译源码时生成对应方法。官方地址:https://projectlombok.org/,github地址:https://github.com/rzwitserloot/lombok。

lombok是一个IDE插件,也是一个项目需要依赖的jar包.lombok是依赖jar包的原因是因为编译时要用它的注解.是插件的原因是lombok要在编译时通过操作AST(abstract syntax tree.抽象语法树)改变字节码生成.也就是说可以改变java语法. 不像spring的依赖注入或者hibernate的orm一样是运行时的特性,lombok是编译时的特性.编译后的.class中lombok的注解被消除.

阅读此文