Spring Bean的生命周期(Lifecycle)
很多编程框架都提供生命周期管理,提供类似实例的开始->结束的状态管理
大部分时候,我们只需要掌握 init
方法即可,注意这个 init
方法名称可以是任意名称的,因为我们是通过注解来声明 init 的,我们以SubjectServicelmpl 为例
import javax.annotation.PostConstruct;
@Service
public class SubjectServiceImpl implements SubjectService {
@PostConstruct
public void init(){
System.out.println("启动啦");
}
}
我们只要在方法上添加 @PostConstruct
注解,就代表该方法在Spring Bean 启动后会自动执行的哦。
注意这个 PostConstruct 的完整包路径是
javax.annotation.PostConstruct
ps:可以把static代码块移动到init内:
@Service
public class SubjectServiceImpl implements SubjectService {
@PostConstruct
public void init(){
Subject subject = new Subject();
subject.setId("s001");
subject.setName("成都");
subject.setMusician("赵雷");
subjectMap.put(subject.getId(), subject);
}
}
Spring 声明周期可以让我们更轻松的初始化一些行为以及维护数据
现在这个阶段大家暂时只要掌握这个初始化方法就好了
随着项目的复杂,会逐步理解到其深层次的道理的