@Scope、@PostConstruct、@PreDestroy

本文详细介绍了Spring框架中用于管理Bean生命周期的三个关键注解:@Scope、@PostConstruct及@PreDestroy的作用与使用方法。通过示例代码,读者可以了解到这些注解如何帮助开发者在容器初始化和销毁Bean时执行特定任务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、        @Scope、@PostConstruct、@PreDestroy

@Scope对应于xml配置文件的scope属性

@PostConstruct对应于xml配置文件中的init-method属性

@PreDestroy对于应于xml配置文件中的destroy-method属性


java代码:
  1. 例如如下:  
  2. import javax.annotation.PostConstruct;  
  3. import javax.annotation.PreDestroy;  
  4. import javax.annotation.Resource;  
  5. import org.springframework.context.annotation.Scope;  
  6. import org.springframework.stereotype.Component;  
  7. @Component(value="userService")  
  8. @Scope("singleton")  
  9. public class UserService {  
  10.     @PostConstruct   
  11.     public void init(){System.out.println("现在开始初始化UserService");}     
  12.     private UserDao userDao = new UserDaoImpl();  
  13.     public UserDao getUserDao() {return userDao;}  
  14.     @Resource  
  15.     public void setUserDao(UserDao userDao) {this.userDao = userDao;}  
  16.     public void add(User u){    userDao.save(u);}  
  17.     @PreDestroy  
  18.     public void destroy(){System.out.println("destory");    }  

@PostConstruct是Java EE 5引入的注解,Spring允许开发者在受管Bean中使用它。当DI容器实例化当前受管Bean时,@PostConstruct注解的方法会被自动触发,从而完成一些初始化工作,示例代码如下。

    
  1. @PostConstruct 
  2. public void postConstruct(){  
  3.     log.info("调用postConstruct");  

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值