砖头人:app中banner图片信息

tomcat启动时一次性获取所有数据库中banner信息初始化到map中,因为常年不变所以每次前端请求时直接从静态map中直接返回对应的banner信息,当真的有banner信息修改时,通过admin方式调用更新map中的相应banner信息即可。主要还是避免每次都去连接宝贵的数据库资源。

1.application-service.xml   加载到这个文件时会触发init-method=”init“方法

<bean id="commonDAO" class="com.brickman.dao.impl.CommonDAOImpl"/>
<bean id ="contextUtil" class="com.brickman.utils.ContextUtil" init-method="init">
	<property name="commonDAO" ref="commonDAO"/>
	<property name="advertisementDAO" ref="advertisementDAO"/>
</bean>

2.初始化 连接数据库信息并存储到一个map中

#所有的banner信息放入这个map
    private static Map<String, List<BrickAdvertisement>> brickAdvertisementMapList = new HashMap<String, List<BrickAdvertisement>>();
...省略
#init的方法内容
 List<BrickAdvertisement> brickAdvertisementList01 = new ArrayList<BrickAdvertisement>();//启动页广告
 List<BrickAdvertisement> brickAdvertisementList02 = new ArrayList<BrickAdvertisement>();//首页广告
 List<BrickAdvertisement> brickAdvertisementList03 = new ArrayList<BrickAdvertisement>();//中间相机页广告
 List<BrickAdvertisement> brickAdvertisementList04 = new ArrayList<BrickAdvertisement>();//中间公益页广告
		
 List<BrickAdvertisement> list = advertisementDAO.listAdvertisementByType(null);
		
 if (list != null && list.size() > 0) {
  for (int i = 0; i < list.size(); i++) {
    BrickAdvertisement advertisement = list.get(i);
	 //设置他们对应的为止
	switch (advertisement.getAdvertisementType()) {
		case 1:
		  brickAdvertisementList01.add(advertisement);
		  break;
		case 2:
		  brickAdvertisementList02.add(advertisement);
		  break;
		case 3:
		  brickAdvertisementList03.add(advertisement);
		  break;
		case 4:
		  brickAdvertisementList04.add(advertisement);
		  break;
		default:
		  break;
	}
 }
}

		brickAdvertisementMapList.put("1", brickAdvertisementList01);
		brickAdvertisementMapList.put("2", brickAdvertisementList02);
		brickAdvertisementMapList.put("3", brickAdvertisementList03);
		brickAdvertisementMapList.put("4", brickAdvertisementList04);

3.前端获取某个banner类型图片

List<BrickAdvertisement> list=ContextUtil.getBrickAdvertisementMapList().get(advertisementType);

4.后台admin修改了banner信息,触发更新信息

List<BrickAdvertisement> list = advertisementBO.listAdvertisementByType(paramMap);
if(list !=null && list.size()>0){
	ContextUtil.getInstance().getBrickAdvertisementMapList().put(advertisementType, list);//重新设置
}

 

如果此时此刻,你也在北漂、上漂、广漂、深漂,那这里就是你的新家:www.brickman.cn。
欢迎加入砖头人大家庭,现邀请你体验为你定制开发的“砖头人app”。

转载于:https://my.oschina.net/cyj2015/blog/804785

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值