首页 > 其他分享 >@PostConstruct详解

@PostConstruct详解

时间:2022-10-18 15:35:50浏览次数:53  
标签:初始化 PostConstruct 详解 注解 执行 方法 注入

定义:


@PostConstruct是Java自带的注解,在方法上加该注解会在项目启动的时候执行该方法,也可以理解为在spring容器初始化的时候执行该方法。

从Java EE5规范开始,Servlet中增加了两个影响Servlet生命周期的注解,@PostConstruct和@PreDestroy,这两个注解被用来修饰一个非静态的void()方法。

用法:

@PostConstruct
 
public void someMethod(){}

 

或者

public @PostConstruct void someMethod(){}

作用:

@PostConstruct注解的方法在项目启动的时候执行这个方法,也可以理解为在spring容器启动的时候执行,可作为一些数据的常规化加载,比如数据字典之类的。

 

执行顺序:


其实从依赖注入的字面意思就可以知道,要将对象p注入到对象a,那么首先就必须得生成对象a和对象p,才能执行注入。所以,如果一个类A中有个成员变量p被@Autowried注解,那么@Autowired注入是发生在A的构造方法执行完之后的。

如果想在生成对象时完成某些初始化操作,而偏偏这些初始化操作又依赖于依赖注入,那么久无法在构造函数中实现。为此,可以使用@PostConstruct注解一个方法来完成初始化,@PostConstruct注解的方法将会在依赖注入完成后被自动调用。

Constructor >> @Autowired >> @PostConstruct

 

标签:初始化,PostConstruct,详解,注解,执行,方法,注入
From: https://www.cnblogs.com/xiaotian0422/p/16802687.html

相关文章

  • 详解React的Transition工作原理原理
    Transition使用姿势Transition是react18引入的新概念,用来区分紧急和非紧急的更新。紧急的更新,指的是一些直接的用户交互,如输入、点击等;非紧急的更新,指的是UI界面......
  • 实战 | OpenCV实现扫描文本矫正应用与实现详解(附源码)
    导读本文主要介绍使用OpenCV对扫描文本矫正的应用实例及详细实现步骤。背景介绍在使用打印机或扫描仪扫描文档时,由于摆放位置差异难免造成扫描文档的倾斜。本文将使用Open......
  • 【Java】多线程详解!
    多线程程序程序(program)是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。进程进程(process)是程序的一次执行过程,或是正在运行的一个......
  • JavaWeb之MVC开发模式之商品实例CURD详解
    三层MVC开发模式架构使用自己设计的商城实体类创建对应的数据库表和类完成增删改查管理模块。(1)不使用MVC设计模式完成增删改查管理功能。(2)使用MVC设计模式完成增删改查管......
  • PyQuery详解
    为什么选择PyQuery?Python爬虫解析库,主流的有PyQueryBeautifulsoupScrapySelectors正则表达式。PyQuery和scrapySelectors都是基于lxml模块,而lxml和正则表达式都......
  • 【Vue】Axios详解
    @[toc]1Axios简介1.1什么是Axios?Axios是一个基于​​promise​​​网络请求库,作用于​​node.js​​和浏览器中。它是​​isomorphic​​​的(即同一套代码可以运......
  • Java内存模型(JMM)详解
    目录什么是JMM?Java运行时内存区域与硬件内存的关系Java内存区域和Java内存模型有何区别?Java线程与主内存的关系什么是主内存?什么是本地内存?线程间通信重温Java并发三......
  • Java 8 Stream详解
     【Java8系列】Stream详解,看这一篇就够啦https://blog.csdn.net/yy339452689/article/details/110956119......
  • K8S Service基础详解
    ​一起学kubernetes系列(2)‌本篇文章我们介绍KubernetesService的各个类型,各类端口的含义,向外部暴露内部服务的方式。Service介绍Kubernetes中一个应用服务会有一个或多......
  • Selenium4Web自动化3-等待机制详解
    一、sleepsleep(timeout)是设定一个固定的等待时长,代码运行到此处,会强行进行等待指定的时间,使用方便的同时,效率最低,不建议使用。缺点:不能准确把握需要等待的时间(有时操......