文档章节

砖头人:app中banner图片信息

caoyongjun
 caoyongjun
发布于 2016/12/12 23:21
字数 433
阅读 5
收藏 0

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”。

© 著作权归作者所有

共有 人打赏支持
caoyongjun
粉丝 3
博文 9
码字总数 3875
作品 0
朝阳
程序员
私信 提问
app_banner

http://admin.oschina.me/app/ad-banner 板块:是这个banner放置的位置,资讯那边图片的大小是 751px 234px,活动那边图片大小是240px 360px 类型:是这个banner做的广告的类型,又blog类型,...

雨翔河
2016/05/31
2
0
Android 轮播图Banner切换图片的效果

Android XBanner使用详解 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://www.cnblogs.com/huangzedong/p/9961371.html 前言:现如今的很多APP都介入了广告,不过,大多数都是以...

雨雪陌生
11/15
0
0
大宗干杂海货交易平台APP(安卓版)

【业务需求】 APP模块 聊天:单聊,群聊广告(使用网易云信第三方产品):banner广告登录注册:手机号注册,找回密码用户信息:用户信息完善、修改,忘记密码,修改密码。 电商系统:产品列表,筛选...

干货1688
2016/04/14
2
0
2015.09.07 工作计划

1.完成后台活动功能(许童,老苏,预计2天) 2.走查测试后台全部功能,达成上线状态(许童,老苏,京生,预计3天) 3.完成集点卡列表功能(京生,预计1-2天) 4.完成app后续内容功能,banne...

zero2_007
2015/09/07
4
1
Android中广告轮播框架Banner----(功能很全面

转载地址:https://github.com/youth5201314/banner 参考视频:http://ke.atguigu.com/course/150 Android图片轮播控件 新框架发布,欢迎大家Star XFrame - Android快速开发框架 XFrame详细功...

丁佳辉
08/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Dubbo下一站:Apache顶级项目

摘要: 导读: 近日,在Apache Dubbo开发者沙龙杭州站的活动中,阿里巴巴中间件技术专家曹胜利(展图)向开发者们分享了Dubbo2.7版本的规划。 本文将为你探秘 Dubbo 2.7背后的思考和实现方式。...

阿里云云栖社区
10分钟前
0
0
Vim中快捷键命令介绍

map命令简介 map是一个映射命令,将常用的很长的命令映射到一个新的功能键上。map是Vim强大的一个重要原因,可以自定义各种快捷键,用起来自然得心应手。Vim中有五种映射存在: 用于普通模式:...

陶小陶
14分钟前
0
0
结合实际场景谈一谈微服务配置

作为 Nacos 5W1H 的系列文章,本文将围绕“Where”,讲述 Nacos 配置管理的三个典型的应用场景: 数据库连接信息 限流阈值和降级开关 流量的动态调度 上一篇:Nacos帮我解决了什么问题? 数据...

阿里云官方博客
15分钟前
0
0
Docker | 采用镜像alpine缺少时区解决方法

加入: RUN apk --update add tzdata当然也可以安装其他的如 procps, php 等

云迹
16分钟前
0
0
在Python中调用Java扩展包HanLP测试记录

最近在研究中文分词及自然语言相关的内容,关注到JAVA环境下的HanLP,HanLP是一个致力于向生产环境普及NLP技术的开源Java工具包,支持中文分词(N-最短路分词、CRF分词、索引分词、用户自定义...

左手的倒影
27分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部