首页 > 试题

destory

更新时间:2022-12-08 21:57:24 阅读: 评论:0

无忧无虑中学语文网登录-高温温度计


2022年12月8日发(作者:金字塔原理)

@PostConstruct和@PreDestroy注解

这⾥写⽬录标题

JavaEE5引⼊了@PostConstruct和@ProDestory两个作⽤于Servlet⽣命周期的注解,实现Bean初始化之前和销毁之前的⾃定义操作。

@PostConstruct

应⽤PostConstruct注释的⽅法必须遵守以下所有标准:

只有⼀个⽅法可以使⽤此注释进⾏注解;

被注解⽅法需是⾮静态⽅法;

被注解⽅法返回值为void;

被注解⽅法不得有任何参数;

被注解⽅法不得抛出已检查异常;

此⽅法只会被执⾏⼀次;

使⽤@PostConstruct写法有两种⽅式:

@PostConstruct

publicvoidtProperties(){

....

}

public@PostConstructvoidtProperties(){

....

}

被@PostConstruct修饰的⽅法会在服务器加载Servlet的时候运⾏,并且只会被服务器执⾏⼀次。@PostConstruct在构造函数之后执

⾏,init()⽅法之前执⾏,@ProDestroy⽅法在destory⽅法执⾏之后执⾏,在Servlet被彻底卸载之前。执⾏顺序流程如下:

服务器加载ServletServlet构造函数PostConstruct注解标识⽅法init⽅法Servicedestroy销毁⽅法ProDestroy注解标识⽅法Servlet卸载

另外,spring中Constructor、DI(依赖注⼊)、@PostConstruct的顺序:

根据依赖注⼊的业务逻辑,如果要将对象A注⼊到对象B中,那么就必须先⽣成对象A和对象B,执⾏Constructor。所以如果⼀个类B中

有个对象属性需要被注⼊,那么依赖注⼊是发⽣在B的构造函数执⾏之后的。如果想在⽣成对象时完成⼀些初始化操作,并且这些初始化操

作⼜依赖于DI(依赖注⼊),那么就需要通过@PostConstruct注解⼀个⽆参⽅法来完成该操作,@PostConstruct注解的⽅法将会在DI完成

后背⾃动调⽤。执⾏顺序如下:

ConstructorDI-依赖注⼊PostConstruct注解标识⽅法

;

ent;

nstruct;

s;

/**

*redis配置⽂件类

*/

@Component

publicclassRedisProperties{

//集群节点ip:port(多个以逗号隔开)

publicstaticStringhostPorts;

//密码

publicstaticStringpassword;

//最⼤连接数

publicstaticIntegermaxTotal;

//最⼤空闲连接数

publicstaticIntegermaxIdle;

//最⼩空闲连接数

publicstaticIntegerminIdle;

//最⼤等待时间

publicstaticIntegermaxWaitMillis;

//集群节点ip:port(多个以逗号隔开)

@Value("${-ports}")

privateStringhost_ports;

//密码

@Value("${rd}")

privateStringpwd;

//最⼤连接数

@Value("${-total}")

privateIntegermax_total;

//最⼤空闲连接数

@Value("${-idle}")

privateIntegermax_idle;

//最⼩空闲连接数

@Value("${-idle}")

privateIntegermin_idle;

//最⼤等待时间

@Value("${-wait-millis}")

privateIntegermax_wait_millis;

@PostConstruct

publicvoidtProperties(){

hostPorts=_ports;

password=;

maxTotal=_total;

maxIdle=_idle;

minIdle=_idle;

maxWaitMillis=_wait_millis;

}

}

上⾯代码执⾏顺序为:先执⾏RedisProperties类的⽆参构造⽅法,然后执⾏@Value注解进⾏参数注⼊,最后执⾏@PostConstrust

标注的⽅法tProperties()进⾏类属性赋值。

@PreDestroy

被@PreDestroy修饰的⽅法会在服务器卸载Servlet的时候运⾏,并且只会被服务器调⽤⼀次,类似于Servlet的destroy()⽅法。被

@PreDestroy修饰的⽅法会在destroy()⽅法之后运⾏,在Servlet被彻底卸载之前。

本文发布于:2022-12-08 21:57:24,感谢您对本站的认可!

本文链接:http://www.wtabcd.cn/fanwen/fan/88/68553.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

下一篇:收藏的近义词
标签:destory
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图