砖头人:app中banner图片信息
砖头人:app中banner图片信息
caoyongjun 发表于10个月前
砖头人:app中banner图片信息
  • 发表于 10个月前
  • 阅读 3
  • 收藏 0
  • 点赞 0
  • 评论 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”。

标签: Java
共有 人打赏支持
粉丝 4
博文 9
码字总数 3875
×
caoyongjun
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: