Springboot项目启动时加载数据库数据到内存

没什么多说的,就一个@PostConstruct注解:

@Component
public class CodeCache {
	public static Map<String, String> codeMap = new HashMap<String, String>();
	
	@Autowired
	private ICodeService codeService;
	
	@PostConstruct
	public void init(){
		System.out.println("系统启动中。。。加载codeMap");
		List<Code> codeList = codeService.selectAll();
		for (Code code : codeList) {
			codeMap.put(code.getKey(), code.getValue());
		}
	}
	
	@PreDestroy
    public void destroy(){
        System.out.println("系统运行结束");
    }
}

获取缓存值:

System.out.println(CodeCache.codeMap.get("name"));

项目实例代码:https://download.csdn.net/download/fukaiit/11249580
说明:

  1. 启动后访问http://localhost:8848/code,可见控制台输出codeMap中的值
  2. 新建一个只有key和value两个字段的表code
  3. 不要轻易浪费积分下载代码,没什么实质内容

你可能感兴趣的:(Java)