@SpringBootApplication
public class Application {
public static void main(String[] args) {
ApplicationContext ctx = SpringApplication.run(Application.class, args);
ctx.getBean(PersonService.class);
((ConfigurableApplicationContext)ctx).close();
}
}
@Component
@Scope("prototype")
public class PersonService {
@PostConstruct
public void start() {
System.out.println("starting service");
}
@PreDestroy
public void stop() {
System.out.println("stopping service");
}
}
当我运行上述代码时,我没有看到“停止服务”的记录。 但是,如果我在Person服务类上评论原型作用域,则可以在日志中看到“停止服务”。
如何使用原型范围bean调用@predestroy注释的方法。