@Scope、@PostConstruct、@PreDestroy

一、        @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()方法执行执行之后执行

你可能感兴趣的:(spring)