我以爲我設置了一個spring bean,這樣當我的web應用程序上下文被初始化時,start方法就會運行,但它不會運行。當我在調試模式下啓動我的應用程序時,我從來不會在啓動方法中觸發斷點。以下是我已經班級設置:春季生命週期開始方法不起作用
@Transactional
@Service
public class ServerStartup implements Lifecycle {
@Autowired
private EmpireService es;
/**
* sets up the server the first time. Should only be called once
*/
private boolean setup() {
[... sets stuff up, saves the empire]
}
/**
* initializes the Empire with its necessary value
*/
@Override
public void start() {
Empire empire = es.getEmpire();
if (empire == null) {
//initialize all data as there is no "empire"
this.setup();
empire = es.getEmpire();
}
Empire.setEmpireGold(empire.getInstanceEmpireGold());
}
/**
* does nothing
*/
@Override
public void stop() {
}
/**
* does nothing
*/
@Override
public boolean isRunning() {
return false;
}
}
,我需要做的原因是,當我的程序啓動時,它需要檢查,如果地圖已經建成。如果沒有,它需要建立一個。此外,它本質上是建立一個緩存的價值,即帝國的帝國黃金。
如果有比實施生命週期更好,更有效的方法,我會接受建議。否則,我只是想要這個工作!
酷,像魅力一樣工作。 – CorayThan 2013-03-10 22:57:03