每一个应用都应该有 context.properties 配置文件,用来初始化一些配置信息,方便在发布的过程中更改正式环境的配置信息
1 在spring-context.xml 中新增
<!-- 扫描加载该文件-->
<context:property-placeholder localtion="classpath:/context/properties/context.properties" />
加载了该文件,在context.properties文件中新增配置信息就应该可以方便的获取
在 context.properties 新增如下
liweitest=ok
那么如果想很方便的获取该值,那么还需要在spring-context.xml 文件中新增如下代码
<util:properties id="applicationProps" localtion="classpath:/context/properties/context.properties" />
那么在 DemoController 中新增如下代码即可获取该值
@value("#{applicationProps['liweitest']}")
public String liweiTest;
生成getter 和setter方法,
打印 liweiTest 即可出现 ok
在开发的过程中,经常用到缓存,那么用ehcache缓存 使用如下
1 在context目录下,新增cache包,在该包下,新增 ehcache.xml文件
文件内容如下
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd">
<diskStore path="java.io.temdir" />
<!--缓存时间为一天-->
<cache name="CACHE_DAY" maxElementsInMemory="20000" eternal="false" timeToIdleSeconds="86400" timeToLiveSeconds="86400" overflowToDisk="false" memoryStoreEvictionPolicy="LRU" >
</cache>
<ehcache>
2 在spring-context.xml 文件加入 xmlns:ehcache等一些头文件信息,同时还需要配置如下
<bean id="liweiCacheManager" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
<properties name="configLocation">
<value>classpath:/context/cache/ehcache.xml</value>
</properties>
</bean>
<bean id="ehCacheBean" class="org.springframework.cache.ehcache.EhCacheFactoryBean">
<properties name="cacheManager">
<ref bean="liweiCacheManager"/>
</properties>
<!-- 以下配置可以不需要,不配置 cacheManager 对象会去ehcache.xml 找他们有哪些cacheName 的缓存-->
<properties name="cacheName">
<value>CACHE_DAY</value>
</properties>
</bean>
<ehcache:annotation-driven cache-manager="liweiCacheManager" self-populating-cache-scope="shared" />
3 新增一个缓存管理类 测试每次参数一致是缓存是否有效
@Component
public class CacheManager{
@Cacheable(cacheName="CACAHE_DAY",cacheNull = false)
public String getCacheByProdId(long prodId){
system.out.println("如果prodId 一样那么缓存就必须有效");
return "a";
}
}
写一个demo 测试通过
1 在spring-context.xml 中新增
<!-- 扫描加载该文件-->
<context:property-placeholder localtion="classpath:/context/properties/context.properties" />
加载了该文件,在context.properties文件中新增配置信息就应该可以方便的获取
在 context.properties 新增如下
liweitest=ok
那么如果想很方便的获取该值,那么还需要在spring-context.xml 文件中新增如下代码
<util:properties id="applicationProps" localtion="classpath:/context/properties/context.properties" />
那么在 DemoController 中新增如下代码即可获取该值
@value("#{applicationProps['liweitest']}")
public String liweiTest;
生成getter 和setter方法,
打印 liweiTest 即可出现 ok
在开发的过程中,经常用到缓存,那么用ehcache缓存 使用如下
1 在context目录下,新增cache包,在该包下,新增 ehcache.xml文件
文件内容如下
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd">
<diskStore path="java.io.temdir" />
<!--缓存时间为一天-->
<cache name="CACHE_DAY" maxElementsInMemory="20000" eternal="false" timeToIdleSeconds="86400" timeToLiveSeconds="86400" overflowToDisk="false" memoryStoreEvictionPolicy="LRU" >
</cache>
<ehcache>
2 在spring-context.xml 文件加入 xmlns:ehcache等一些头文件信息,同时还需要配置如下
<bean id="liweiCacheManager" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
<properties name="configLocation">
<value>classpath:/context/cache/ehcache.xml</value>
</properties>
</bean>
<bean id="ehCacheBean" class="org.springframework.cache.ehcache.EhCacheFactoryBean">
<properties name="cacheManager">
<ref bean="liweiCacheManager"/>
</properties>
<!-- 以下配置可以不需要,不配置 cacheManager 对象会去ehcache.xml 找他们有哪些cacheName 的缓存-->
<properties name="cacheName">
<value>CACHE_DAY</value>
</properties>
</bean>
<ehcache:annotation-driven cache-manager="liweiCacheManager" self-populating-cache-scope="shared" />
3 新增一个缓存管理类 测试每次参数一致是缓存是否有效
@Component
public class CacheManager{
@Cacheable(cacheName="CACAHE_DAY",cacheNull = false)
public String getCacheByProdId(long prodId){
system.out.println("如果prodId 一样那么缓存就必须有效");
return "a";
}
}
写一个demo 测试通过