Spring 使用 AOP+注解 来记录方法执行时间

一直以来都知道Spring支持一种叫做面向切面编程(AOP)的东西,但是一直都没有自己尝试使用过. 直到最近为了Debug方法,记录使用时间猛然发现AOP正好适合使用在这个场景下.为了灵活的使用AOP,我选择了使用注解来作为标记,当某个特定的注解被使用的时候将会自动触发这个切面. 1.注解的编写 将注解设置为运行时RetentionPolicy.RUNTIME, 在编译时不会丢失这个注解信息. 设置注解主体为方法和类. 注解内部保存一个displayArgs的boolean变量,用于判断是否输出传入参数.   2. 编写AOP类   AOP的切入点为使用了Timed的方法或 Continue Reading

Spring Session整合Redisson

前言: Redisson是一个在Redis的基础上实现的Java驻内存数据网格(In-Memory Data Grid)。它不仅提供了一系列的分布式的Java常用对象,还提供了许多分布式服务。其中包括(BitSet, Set, Multimap, SortedSet, Map, List, Queue, BlockingQueue, Deque, BlockingDeque, Semaphore, Lock, AtomicLong, CountDownLatch, Publish / Subscribe, Bloom filter, Remote service, Spring cache, Continue Reading

Spring Boot使用@Cacheable注解

通常,我使用Hibernate的@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)注解来缓存@Entity类. 在JAP2规范内另一个注解@Cacheable有与Hibernate的@Cache的一样的功能使用@Cacheable的条件如下. 1.Entity Class实现Serializable接口 2.在Entity Class前加入@Cacheable(true) 例如   3.在配置文件内开启缓存[1]   参考: http://docs.oracle.com/javaee/6/tutoria Continue Reading