@PostConstruct 和 @PreConstruct

【参考文章】:@PostConstruct

1. 基本概念

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

2. 实现方式

  方式一:

@PostConstruct
public void someMethod(){
}

  方式二:

public @PostConstruct void someMethod(){
}

3. 在 Servervlet 中的工作方式

  被 @PostConstruct 和 @PreDestroy 修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器执行一次;

  PostConstruct注解的方法在 Servlet 构造函数之后执行,init() 方法之前执行;

  PreDestroy注解的方法在 Servlet 的 destroy() 方法之后执行;

4. 在Spring中的工作方式

  有两个bean,A和B;

  A持有一个B对象的引用;

  A在执行完构造方法后需要调用 init() 初始化,init() 中通过B对象的部分属性进行初始化操作;

  此时可在 init() 上添加 @PostConstruct 注解,init() 会在A 的构造方法执行完成后被调用;

  Construct()  >  @PostConstruct

  

  

 

原文地址:https://www.cnblogs.com/virgosnail/p/10264529.html

时间: 2024-10-22 12:45:40

@PostConstruct 和 @PreConstruct的相关文章

@PostConstruct与@PreConstruct注解

,Servlet增加了两个影响Servlet生命周期的注解(Annotation):@PostConstruct和@PreConstruct.这两个注解被用来修饰一个非静态的void()方法.而且这个方法不能有抛出异常声明. [email protected]说明 被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器调用一次,类似于Serclet的inti()方法.被@PostConstruct修饰的方法会在构造函数之后,init()方法之前运行. [

Java开发之@PostConstruct和@PreConstruct注解

从Java EE5规范开始,Servlet增加了两个影响Servlet生命周期的注解(Annotation):@PostConstruct和@PreConstruct.这两个注解被用来修饰一个非静态的void()方法.而且这个方法不能有抛出异常声明. 使用方式,例如: 1 @PostConstruct //方式1 2 public void someMethod(){ 3 ... 4 } 5 6 public @PostConstruct void someMethod(){ //方式2 7 .

@PostConstruct和@PreConstruct注解

@PostConstruct和@PreConstruct.这两个注解被用来修饰一个非静态的void()方法.而且这个方法不能有抛出异常声明. @PostConstruct //方式1 public void someMethod(){ ... } public @PostConstruct void someMethod(){ //方式2 ... } @PostConstruct说明 被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器调用一次,类似于

解决静态方法调用注入的service

1 在使用jpa的复杂查询时,声明了specification时声明为静态方法,导致注入的service无法使用,故想到俩种方式,一种手动注入,一种注解注入,此文使用的时注解注入: 解决静态方法调用注入的service 1 // 先说一下解决方法 2 @Autowired 3 private AService aService; 4 5 // 声明静态变量,为了之后调用service 6 public static ClassA classA; 7 8 // 关键:通过注解实现注入 9 @Pos

周记2020.3.2~2020.3.8

1. @PostConstruct和@PreConstruct @PostConstruct说明 被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器调用一次,类似于Serclet的inti()方法.被@PostConstruct修饰的方法会在构造函数之后,init()方法之前运行. 特点: 1.只有非静态方法能使用此注解 2.被注解的方法不得有任何参数 3.被注解的方法返回值必须为void 4.被注解方法不得抛出已检查异常 5.此方法只会被执行一次

@PostConstruct 注解

1 /* 2 * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. 3 * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. 4 24 */ 25 26 package javax.annotation; 27 28 import java.lang.annotation.*; 29 import static

Spring AOP注解通过@Autowired,@Resource,@Qualifier,@PostConstruct,@PreDestroy注入属性的配置文件详解

原创整理不易,转载请注明出处:Spring AOP注解通过@Autowired,@Resource,@Qualifier,@PostConstruct,@PreDestroy注入属性的配置文件详解 代码下载地址:http://www.zuidaima.com/share/1772661373422592.htm 本文介绍了使用Spring注解注入属性的方法.使用注解以前,注入属性通过类以及配置文件来实现.现在,注入属性可以通过引入@Autowired注解,或者@Resource,@Qualifi

spring postconstruct

package com.jdw.service.impl; import java.util.List; import javax.annotation.PostConstruct; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Serv

PostConstruct

Spring AOP注解通过@Autowired,@Resource,@Qualifier,@PostConstruct,@PreDestroy注入属性的配置文件详解 1.6. @PostConstruct(JSR-250) 在方法上加上注解@PostConstruct,这个方法就会在Bean初始化之后被Spring容器执行(注:Bean初始化包括,实例化Bean,并装配Bean的属性(依赖注入)). 它的一个典型的应用场景是,当你需要往Bean里注入一个其父类中定义的属性,而你又无法复写父类的