spring中bean初始化及销毁的三种配置方式:
1,配置文件配置
<bean id="personService" class="com.yokoboy.service.impl.PersonServiceBean" init-method="init" destroy-method="destory" />
2,注解方式配置
@PostConstruct
public void innit() throws Exception {
logger.info("innit start");
}
@PreDestroy
public void destroy() throws Exception {
logger.info("destroy start");
}
3,通过实现InitializingBean,DisposableBean接口
@Service("userService")
@Scope("prototype")
public class UserServiceImpl implements UserService,InitializingBean,DisposableBean {
private Logger logger = Logger.getLogger(UserServiceImpl.class);
public void afterPropertiesSet() throws Exception {
logger.info("afterPropertiesSet start");
}
public void destroy() throws Exception {
logger.info("destroy start");
}
}
注
在CS结构的应用程序中,destroy-method="destory" 这个配置基本上没有作用,因为 摧毁方法是由容器调用的,在CS应用程序中,只有程序员自己调用。再有,当scope是prototype的时候,对象的生存周期 Spring就不管了。只有在tomcat或者容器关闭的时候,由tomcat调用。