概述:我用了5分钟为自己的app(应用程序)添加缓存,再一次证明java也不需要写长篇的代码,就能为app添加缓存。想知道我怎样做的吗?请看下文。
# P3 t$ P, F0 M2 @3 a6 d- R你也许永远不会相信我为应用程序添加缓存层,只用了5分钟。' n; a- B+ x0 T6 e5 a0 _7 I) w
我的应用程序使用 spring version 3.2.8 和 maven 3.2.1。; a+ D2 d" Y/ i
从spring version 3.2 开始,org.springframework.cache.ehcache已经从核心宝中移除,现在在spring-context-support中。为了让ehcache工作,你必须单独添加在项目中。
6 {4 u3 b: e$ ?. p4 Q步骤一- C/ D; v) g2 s) @& J9 G
maven需要添加下面代码:8 j ]5 z7 q- K, z, }( c/ Z0 Y( s
<dependency>. [# r' i1 k A9 N3 U" k4 \! ]' E
<groupid>org.springframework</groupid>
[! O5 n7 y' g! h# v: Z+ {1 o<artifactid>spring-context-support</artifactid> <version>${spring.version}</version>
% A/ o8 U p; E' a; i' u</dependency>
: ]7 T. Q& D, U以及
) |+ M* }7 t2 L1 F2 m; K<dependency>
- v# J2 N7 q2 Q2 L<groupid>net.sf.ehcache</groupid>3 \- g F; {% b
<artifactid>ehcache</artifactid>* |+ g5 x+ u! d; b
<version>${ehcache.version}</version>
C, [# V% F7 s# B. c; n</dependency>6 T. J" B1 o+ ^4 N1 {' d3 L9 \
将最新版本放到占位符中: ${spring.version} 和 ${ehcache.version}0 P6 Z3 ?/ V' M( B1 D. X3 `# t) p
步骤二/ n/ u0 h D) x( C6 d5 b: j
在应用程序中将以下代码加入context.xml:
3 i0 S/ ~" N6 b<bean id=cachemanager class=org.springframework.cache.ehcache.ehcachecachemanager p:cachemanager-ref=ehcache>
/ d& Z4 @8 T& x<bean id=ehcache class=org.springframework.cache.ehcache. ehcachemanagerfactorybean p:configlocation=classpath:configuration/ehcache.xml p:shared=true> <cache:annotation-driven></cache:annotation-driven></bean></bean>* V* K% w# F$ Q% i
步骤三
0 m# F0 m6 a2 s将ehcache.xml添加到类路径
% L" r% G7 w/ {) O) c一个基本的ehcache.xml入下:
0 k5 t* m; L. G<ehcache xmlns:xsi=>
b. |' ~2 C. B0 S2 B<diskstore path=java.io.tmpdir>7 k; k# y6 W, I/ R
<defaultcache>5 c9 Q5 g8 B) v: i7 O" z+ J
<cache name=yourcache maxelementsinmemory=10000 eternal=false timetoidleseconds=1800 timetoliveseconds=1800 maxelementsondisk=10000000 diskexpirythreadintervalseconds=1800 memorystoreevictionpolicy=lru> <persistence strategy=localtempswap> </persistence></cache>4 O; J& S, t: ~, o& y+ N
</defaultcache></diskstore></ehcache>
) i$ B" [( N0 c4 Y: b) J步骤四& |. `4 R. N7 q1 W
最后一步,使用注释,非常简单,一行代码:0 ^" B/ R! L7 J3 N D
@cacheable(value =youcache)$ u& G7 C# a2 N2 n
这个注释可以使用任何方法,默认情况下在缓存哈希图中,它使用方法参数作为key。, I, k# Y* ?1 [( }
现在,谁说java要写长篇的代码?
/ V) l2 d' E0 Q% @! E* f* s/ Z: v) _/ Zehcache介绍:
) q3 `5 g6 u) o, h1 J( K; e, V+ g在这次实践中使用了ehcache,它强大、高度可定制化,可以根据需要设置任何key、缓存类型、缓存时间。最重要的是,他开源2 z" ~( i5 T, @ Q
0 {/ A1 a/ g/ l, L [# W6 p
更多网页制作信息请查看: 网页制作 |
|