Spring初始化和销毁的实现方法

网友投稿 548 2023-07-15

Spring初始化和销毁的实现方法

Spring初始化和销毁的实现方法

这篇文章主要介绍了Spring初始化和销毁的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

一 指定初始化和销毁方法

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

@Bean(initMethod="init",destroyMethod="detory")

public Car car(){

return new Car();

}

二 通过让Bean实现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

SystemuAfYJaevaB.out.println("cat...afterPropertiesSet...");

}

}

三 可以使用jsR250

@PostConstruct:在bean创建完成并且属性赋值完成;来执行初始化方法

@PreDestroy:在容器销毁bean之前通http://知我们进行清理工作

@Component

public class Dog implements ApplicationContextAware {

//@Autowired

private ApplicationContext applicationContext;

public Dog(){

System.out.println("dog constructor...");

}

//对象创建并赋值之后调用

@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

http://

/**

* 后置处理器:初始化前后进行处理工作

* 将后置处理器加入到容器中

* 在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;

}

}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:IntelliJ IDEA之配置JDK的4种方式(小结)
下一篇:简单了解SpringBoot HATEOAS使用方法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~