1.@postConstruct :表示服务器启动时加载,类似于servlet的init方法,服务器只会执行一次。在构造方法之后,init方法之前执行。
- 只有一个方法可以使用此注释进行注解;
- 被注解方法不得有任何参数;
- 被注解方法返回值为void;
- 被注解方法不得抛出已检查异常;
- 被注解方法需是非静态方法;
- 此方法只会被执行一次;
@PostConstruct public void initLoad() { doSth……; }
2.@PreDestroy:服务器销毁时执行一次,类似于servlet的desdroy方法。在desdroy方法之后,容器卸载之前执行。
@PreDestroy public void doSthBeforeDestroy() { doSth……; }
3.@postConstruct的功能也可以用定义一个类实现ApplicationRunner,并重写其中的run方法进行实现。
@Component public class InitLoader implements ApplicationRunner { /** * 系统启动之后,立刻执行一次 * @param applicationArguments * @throws Exception */ @Override public void run(ApplicationArguments applicationArguments) throws Exception { doSth……; } }