文档章节

后台配置banner,前台能及时获取的实现

xuguangwu
 xuguangwu
发布于 2017/02/13 21:40
字数 169
阅读 18
收藏 0

通过@PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作。项目启动的时候使用一个类似自定义缓存的map,用来读取数据库配置,后面每五分钟查询一次数据库,可以做到不重启服务配置banner的效果。

//存储状态正常的banner 
private Map<Integer, BannerDo> enableCacheMap;
@PostConstruct
private void init() {
    enableCacheMap = Maps.newConcurrentMap();
    build();
}
@Override
public MimiResult<List<BannerDo>> getEnableBannerList() {
    MimiResult<List<BannerDo>> result = MimiResult.newResult();
    if (enableCacheMap != null && !enableCacheMap.isEmpty()) {
        result.setObject(Lists.newArrayList(enableCacheMap.values()));
    }
    return result;
}
@Scheduled(cron = "0 0/5 * * * ?")
private void schedule() {
    enableCacheMap.clear();
    build();
}
private void build() {
    BannerQueryOption option = new BannerQueryOption();
    option.setState(EnableState.ENABLE.getState());
    List<BannerDo> bannerDos = bannerMapper.queryBanners(option);
    if (CollectionUtils.isNotEmpty(bannerDos)) {
        for (BannerDo bannerDo : bannerDos) {
            enableCacheMap.put(bannerDo.getId(), bannerDo);
        }
    }
}

© 著作权归作者所有

共有 人打赏支持
xuguangwu
粉丝 3
博文 20
码字总数 13259
作品 0
深圳
程序员
Exrick/3D-Banner

3D-Banner 基于Vue开发的3D轮播图组件 在线Demo:http://xmall.exrick.cn/ 高仿锤子商城官网轮播图,3D视差效果,实现后台可灵活配置,定时自动轮播 原作者 qingjin ; 二次开发 yucccc ; 本作...

Exrick
04/21
0
0
android中左右滑屏的实现(广告位banner组件)

原理 参见下图。整个组件是一个FrameLayout,里面有两个view,第一个是LinearLayout,承载了4个(或多个)可以滑动的view,见图中绿色背景的部分;第二个是一个RelativeLayout,在其底部放置...

长平狐
2013/12/25
84
0
android中左右滑屏的实现(广告位banner组件)

原理 参见下图。整个组件是一个FrameLayout,里面有两个view,第一个是LinearLayout,承载了4个(或多个)可以滑动的view,见图中绿色背景的部分;第二个是一个RelativeLayout,在其底部放置...

长平狐
2013/12/25
5.6K
0
NGOOS 2.1 正式发布:全新的前后端展示

NGOOS2.1主要针对界面的风格、功能进行了优化调整,给用户带来全新的操作与体验。NGOOS2.1在TYPO3开源框架的基础上进行开发,TYPO3的内核升级到了8.7.18版本,新闻、DCE、POWERMAIL、相册等插...

极益科技
08/31
0
0
问个关于JS和JAVA传递对象的问题 --Phonegap/Cordova

预想的实现方式是这样的: 前台的 html 里利用 JS 去获取一个图片对象,封装成一个 JSONObject ,作为参数传递到后台的 java 类中。java类中函数将这个 JSONObject 解析转换成一个 Bitmap 对...

别说
2014/11/07
515
2

没有更多内容

加载失败,请刷新页面

加载更多

WinDbg

参考来自:http://www.cnit.net.cn/?id=225 SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols ctrl + d to open dump_file Microsoft (R) Windows Debugger Version 6.12.0002.633......

xueyuse0012
29分钟前
2
0
OSChina 周五乱弹 —— 想不想把92年的萝莉退货

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @罗马的王:分享松澤由美的单曲《地球ぎ》 很久没看圣斗士星矢了 《地球ぎ》- 松澤由美 手机党少年们想听歌,请使劲儿戳(这里) @开源中国首...

小小编辑
56分钟前
10
1
springBoot条件配置

本篇介绍下,如何通过springboot的条件配置,控制Bean的创建 介绍下开发环境 JDK版本1.8 springboot版本是1.5.2 开发工具为 intellij idea(2018.2) 开发环境为 15款MacBook Pro 前言 很多时候,...

贺小五
今天
1
0
javascript source map 的使用

之前发现VS.NET会为压缩的js文添加一个与文件名同名的.map文件,一直没有搞懂他是用来做什么的,直接删除掉运行时浏览器又会报错,后来google了一直才真正搞懂了这个小小的map文件背后的巨大...

粒子数反转
昨天
1
0
谈谈如何学Linux和它在如今社会的影响

昨天,还在农耕脑力社会,今天已经人工智能技术、大数据、信息技术的科技社会了,高速开展并迅速浸透到当今科技社会的各个方面,Linux日益成为人们信息时代的到来,更加考验我们对信息的处理程...

linux-tao
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部