zoukankan      html  css  js  c++  java
  • java @postconstruct初始化注解使用

    1、从Java EE 5规范开始,Servlet中增加了两个影响Servlet生命周期的注解(Annotion);@PostConstruct和@PreDestroy。这两个注解被用来修饰一个非静态的void()方法 。写法有如下两种方式:

    @PostConstruct
    
    Public void someMethod() {}
    

    或者

    public @PostConstruct void someMethod(){}

      被@PostConstruct修饰的方法会在服务器加载Servle的时候运行,并且只会被服务器执行一次。PostConstruct在构造函数之后执行,init()方法之前执行。PreDestroy()方法在destroy()方法执行执行之后执行,流程如下:

    被注解的Servlet生命周期

        需要注意的是,注解会多多少少地影响到服务器的启动速度。服务器在启动时候会遍历Web 应用的WEB-INF/classes下的所有class文件与WEB-INF/lib下的所有jar文件,以检查哪些类使用了注解。如果应用程序中没有 使用任何注解,可以在Web.xml中设置的metadata-complete属性为true.(支持@PostConstruct和 @PreDestroy的服务器需要支持Servlet2.5规范。Tomcat5.x仅支持Servlet2.4规范。)

    2、作用。

    在的servlet初始化加载之前做一些初始化任务,示例如下:

    @PostConstruct
    public void init() {
    logger.info("初始化缓存数据......");
    setOrElse(CommonConstants.SLOT_CURR_NUM_KEY, "1");
    logger.info("初始化缓存数据结束");
    }
  • 相关阅读:
    MySQL复制延时排查
    SQL优化之【类型转换】
    Twemproxy 介绍与使用
    Redis Cluster 3.0搭建与使用
    unauthenticated user reading from net
    XtraBackup之踩过的坑
    Redis学习之实现优先级消息队列
    如何保证接口的幂等性
    Redis缓存网页及数据行
    Rabbitmq 消费者的推模式与拉模式(go语言版本)
  • 原文地址:https://www.cnblogs.com/kingsonfu/p/9855659.html
Copyright © 2011-2022 走看看