Spring MVC 中的http Caching

Spring MVC 中的http Caching Cache 是HTTP协议中的一个非常重要的功能,使用Cache可以大大提高应用程序的性能,减少数据的网络传输。 通常来说我们会对静态资源比如:图片,CSS,JS文件等做缓存。同样的我们可以使用HTTP Cache配合Spring MVC来做动态资源的缓存。 那么什么时候使用动态资源的缓存呢? 只有当这个资源不经常更新或者你确切的知道该资源什么时…

Spring5参考指南:AspectJ高级编程之Configurable

遇到的问题 前面的文章我们讲到了在Spring中使用Aspect。但是Aspect的都是Spring管理的Bean。 现在有一个问题,实际工作中,我们经常会想new一个Bean,然后在这个Bean中注入Spring管理的其他Bean。但是new出来的bean已经脱离Spring的管控了。 该怎么处理呢? @Configurable Spring提供了一个@Configurable的注解,可以实现这…

Spring5参考指南:AOP代理

AOP代理 通常来说Spring AOP有两种代理方式,一种默认的JDK代理,只能代理接口,一种是CGLIB代理,可以代理具体的类对象。 SpringAOP默认为对AOP代理使用标准的JDK动态代理。如果业务对象不实现接口,则使用CGLIB。 如果使用CGLIB,要注意对于CGLIB,不能advice final方法,因为它们不能在运行时生成的子类中被重写。 由于Spring的AOP框架基于代理的…

Spring5参考指南:基于Schema的AOP

基于Schema的AOP 上篇文章我们讲到了使用注解的形式来使用Spring AOP。本文我们介绍如何使用XML Schema的形式使用Spring AOP。 要想使用本文的AOP命名空间标记,需要导入xmlns:aop=”http://www.springframework.org/schema/aop”。 在Spring配置中,所有Aspect和Advisor元素都必须…

Spring5参考指南:AspectJ注解

什么是AspectJ注解 想要在Spring中使用AOP,和通用的Spring Bean一样有两种方式,一种就是注解,一种就是XML配置,本文主要讲解如何通过注解开启Spring AOP。 @AspectJ是一种将aspects声明为用注解来注解Java类的样式。@Aspectj样式是作为Aspectj 5版本的一部分由Aspectj项目引入的。Spring使用和AspectJ相同的注解,它使用了…

Spring5参考指南:SpringAOP简介

写过程序的都知道OOP即面向对象编程。 从最开始的面向过程编程,到后面的面向对象编程,程序的编写方式发生了重大的变化,面向对象编程将业务逻辑封装成一个一个的对象,所有的操作都转换为对对象的操作。 面向对象编程现在使用的非常普遍,一般来说只要是高级语言都支持,但是它也有缺点,比如如果我们想做一些横跨对象的操作(如统计各个对象里面某个方法的执行时间),这时候面向对象可以能力有不逮。我们可能需要在每个对…

Spring5参考指南: BeanWrapper和PropertyEditor

BeanWrapper 通常来说一个Bean包含一个默认的无参构造函数,和属性的get,set方法。 org.springframework.beans 包里面有个很重要的类叫做BeanWrapper接口和他的实现BeanWrapperImpl,BeanWrapper提供了设置和获取属性值(单个或批量)、获取属性描述符和查询属性的功能,以确定它们是可读的还是可写的。 此外,BeanWrapper还…

Spring5参考指南: Resources

Spring定义了Resource接口用来对资源的访问,一般来说资源有两种形式,一种是URL的形式从外部链接加载,一种是File的形式从系统本身查找。 Spring的Resource提供了如下接口: public interface Resource extends InputStreamSource { boolean exists(); boolean isOpen(); URL getURL…