Java 项目启动后进行一些初始化操作 @PostConstruct注解的使用
最近工作开发中遇到了这样的一个场景,开发的小程序迭代的版本不符合微信的开发规范提审可能不会通过,于是我们产品提出可以把新功能以悬浮窗的形式放到小程序,用接口来读取悬浮标的开启关闭状态,提审前打开悬浮窗,提审后关闭悬浮窗.
这个功能实现起来当然非常简单,我们将悬浮标的状态存到redis中并返回给前端来实现,那么项目启动的时候我们肯定要先初始化一部分浮标的状态数据到Redis中,手动添加当然也可以,但是每换个环境就要手动添加一次实在是太繁琐了.
这种时候我们就可以使用@PostConstruct注解,被这个注解修饰的方法将会在项目启动时或者Spring容器启动时执行,可以进行一些数据初始化的操作,而且它是在依赖注入后被调用的,那么我们也可以在这个方法中使用依赖注入的对象.
使用特点
- 返回值必须是void而且必须是无参方法
- 只有一个非静态方法可以使用此注解
- 方法不得抛出已检查的异常
- 方法只会被调用一次
下面是我的代码:
@PostConstruct
public void addDataIntoApplet(){
BuoyVO buoyVO =new BuoyVO();
buoyVO.setSerialNumber(1);
buoyVO.setStatus(1);
stringRedisTemplate.opsForHash().putIfAbsent(key,"1",JSONObject.toJSONString(buoyVO));
BuoyVO buoyVO2 =new BuoyVO();
buoyVO2.setSerialNumber(2);
buoyVO2.setStatus(1);
stringRedisTemplate.opsForHash().putIfAbsent(key,"2",JSONObject.toJSONString(buoyVO2));
}