PostConstruct用法说明

PostConstruct用法说明目的:主要是启动项目并执行特定的初始化(including annotationinjectionandanyinitialization)源码说明:ThePostConstructannotationisusedonamethodthatneedstobeexecutedafterdependencyinjectionisdonetope…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

目的:

主要是启动项目并执行特定的初始化(including annotation injection and any initialization)

源码说明:

The PostConstruct annotation is used on a method that needs to be executed after dependency injection is done to perform any initialization. This method MUST be invoked before the class is put into service. This annotation MUST be supported on all classes that support dependency injection. The method annotated with PostConstruct MUST be invoked even if the class does not request any resources to be injected. Only one method can be annotated with this annotation. The method on which the PostConstruct annotation is applied MUST fulfill all of the following criteria:

 

  • The method MUST NOT have any parameters except in the case of interceptors in which case it takes an InvocationContext object as defined by the Interceptors specification.
  • The method defined on an interceptor class MUST HAVE one of the following signatures:

    void <METHOD>(InvocationContext)

    Object <METHOD>(InvocationContext) throws Exception

    Note: A PostConstruct interceptor method must not throw application exceptions, but it may be declared to throw checked exceptions including the java.lang.Exception if the same interceptor method interposes on business or timeout methods in addition to lifecycle events. If a PostConstruct interceptor method returns a value, it is ignored by the container.

  • The method defined on a non-interceptor class MUST HAVE the following signature:

    void <METHOD>()

  • The method on which PostConstruct is applied MAY be public, protected, package private or private.
  • The method MUST NOT be static except for the application client.
  • The method MAY be final.
  • If the method throws an unchecked exception the class MUST NOT be put into service except in the case of EJBs where the EJB can handle exceptions and even recover from them.

Since:

Common Annotations 1.0

See Also:

javax.annotation.PreDestroy

javax.annotation.Resource

@Documented
@Retention (RUNTIME)
@Target(METHOD)
public @interface PostConstruct {

}

 

翻译说明:

PostConstruct注释用于在完成依赖注入以执行任何初始化之后需要执行的方法。必须在课程投入使用之前调用此方法。必须在支持依赖注入的所有类上支持此注释。即使类没有请求注入任何资源,也必须调用使用PostConstruct注释的方法。只有一种方法可以使用此注释进行注释。应用PostConstruct注释的方法必须满足以下所有标准:

•除了拦截器之外,方法绝不能有任何参数,在这种情况下,它需要一个由Interceptor规范定义的InvocationContext对象。
•在拦截器类上定义的方法必须具有以下签名之一:
void <METHOD>(InvocationContext)

Object <METHOD>(InvocationContext)抛出异常

注意:PostConstruct拦截器方法不能抛出applicationexceptions,但是如果相同的拦截器方法除了生命周期事件之外插入onbusiness或timeout方法,它也可以被声明为抛出包括java.lang.Exception的已检查异常。如果aPostConstruct拦截器方法返回一个值,则容器会忽略它。

•在非拦截器类上定义的方法必须具有以下签名:
void <METHOD>()

•应用PostConstruct的方法可以是公共的,受保护的,包私有的或私有的。
•除应用程序客户端外,方法不能是静态的。
•方法可能是最终的。
•如果方法抛出未经检查的异常,则除了在EJB可以处理异常并且从中恢复异常的EJB的情况下,该类不能被置于intoservice中。
从以下版本开始:Common Annotations 1.0参见:javax.annotation.PreDestroyjavax.annotation.Resource

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/179142.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月30日 下午2:00
下一篇 2022年8月30日 下午2:00


相关推荐

  • webstorm2021激活码_最新在线免费激活[通俗易懂]

    (webstorm2021激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月26日
    152
  • LBD(Line Band Discriptor)概述

    LBD(Line Band Discriptor)概述LBD 算法源自 2013 年文章 Anefficienta 我们都知道要对两幅图片的特征进行匹配 要进行以下几步 nbsp 1 特征提取 nbsp 2 nbsp 特征描述 nbsp 3 特征匹配 nbsp 文中描述了一种用于定义线段特征的描述符

    2026年3月20日
    2
  • Swoole来实现实时异步任务队列

    Swoole来实现实时异步任务队列

    2022年2月10日
    40
  • 华为服务器重装操作系统,华为服务器安装操作系统[通俗易懂]

    华为服务器重装操作系统,华为服务器安装操作系统[通俗易懂]《华为服务器安装操作系统》由会员分享,可在线阅读,更多相关《华为服务器安装操作系统(24页珍藏版)》请在人人文库网上搜索。1、华为服务器安装操作系统1.把网线接到服务器管理口上,2288服务器管理口在服务器背后中下部位置,有Mgmt的指示字样。5885服务器管理口在服务器背后右中部位置,有Mgmt的指示字样。2.另一端连接到电脑上,并配上ip地址,192.168.2.1段地址。3.在浏览器输入管理…

    2026年4月15日
    7
  • 2020 ~ 2022 云计算先电 2.4 私有云 IaaS 最小化部署 & 创建 PaaS 实验云主机环境

    2020 ~ 2022 云计算先电 2.4 私有云 IaaS 最小化部署 & 创建 PaaS 实验云主机环境版本说明先电版本 v2 4 操作系统 CentOS7 51804IaaS 版本 OpenStackQue 4 15PaaS 版本 DockerEngine 19 03 13DockerComp 1 25 5Kubernetes 1 18 1 前言本帖的安装环境为虚拟机 使用版本为 VMwareWorkst 若使用真实服务器搭建需配合三层交换机使用 请自行更改网卡等参数 下面有详细的注释本帖仅涉及云计算 OpenSta

    2026年3月16日
    2
  • Python基本数据类型

    Python基本数据类型一、简介Python基本数据类型一般分为:数字、字符串、列表、元组、字典、集合这六种基本数据类型。其中数字又包含整型(整型又包括标准整型、长整型(Python2.7及之前版本有))、浮点型、复数类

    2022年7月5日
    25

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号