如何初始化和銷毀Spring

本篇文章為大家展示了如何初始化和銷毀Spring,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

目前創(chuàng)新互聯(lián)已為千余家的企業(yè)提供了網(wǎng)站建設、域名、虛擬空間、網(wǎng)站托管、服務器租用、企業(yè)網(wǎng)站設計、坡頭網(wǎng)站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

一 指定初始化和銷毀方法

通過@Bean指定init-method和destroy-method;

 @Bean(initMethod="init",destroyMethod="detory")
   public Car car(){
     return new Car();
   }

二 通過讓Bean實現(xiàn)InitializingBean(定義初始化邏輯)

@Component
public class Cat implements InitializingBean,DisposableBean {
  
  public Cat(){
    System.out.println("cat constructor...");
  }

  @Override
  public void destroy() throws Exception {
    // TODO Auto-generated method stub
    System.out.println("cat...destroy...");
  }

  @Override
  public void afterPropertiesSet() throws Exception {
    // TODO Auto-generated method stub
    System.out.println("cat...afterPropertiesSet...");
  }

}

三 可以使用JSR250

@PostConstruct:在bean創(chuàng)建完成并且屬性賦值完成;來執(zhí)行初始化方法
@PreDestroy:在容器銷毀bean之前通知我們進行清理工作
@Component
public class Dog implements ApplicationContextAware {
  //@Autowired
  private ApplicationContext applicationContext;
  
  public Dog(){
    System.out.println("dog constructor...");
  }
  
  //對象創(chuàng)建并賦值之后調(diào)用
  @PostConstruct
  public void init(){
    System.out.println("Dog....@PostConstruct...");
  }
  
  //容器移除對象之前
  @PreDestroy
  public void detory(){
    System.out.println("Dog....@PreDestroy...");
  }

  @Override
  public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
    // TODO Auto-generated method stub
    this.applicationContext = applicationContext;
  }
}

四 可以使用BeanPostProcessor

/**
 * 后置處理器:初始化前后進行處理工作
 * 將后置處理器加入到容器中
 * 在bean初始化前后進行一些處理工作;
 * postProcessBeforeInitialization:在初始化之前工作
 * postProcessAfterInitialization:在初始化之后工作
 */
@Component
public class MyBeanPostProcessor implements BeanPostProcessor,Ordered {

  @Override
  public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
    // TODO Auto-generated method stub
    System.out.println("postProcessBeforeInitialization..."+beanName+"=>"+bean);
    return bean;
  }

  @Override
  public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
    // TODO Auto-generated method stub
    System.out.println("postProcessAfterInitialization..."+beanName+"=>"+bean);
    return bean;
  }

  @Override
  public int getOrder() {
    return 2;
  }
}

上述內(nèi)容就是如何初始化和銷毀Spring,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)頁名稱:如何初始化和銷毀Spring
鏈接地址:http://www.muchs.cn/article22/gcehcc.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供云服務器、App開發(fā)、品牌網(wǎng)站設計、、建站公司、全網(wǎng)營銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化