Spring SmartLifeCycle does not seem to work with post construct
<p>I am using Spring SmartLifeCycle to specify bean order as follows:</p>

<pre><code>public class MyBean implements SmartLifecycle {
    @PostConstruct
    public void init() {
        //Do stuff
    }

private boolean isRunning = false;

    @Override
    public boolean isAutoStartup() {
        LOGGER.warn("************** is autostartp");
        return true;
    }

    @Override
    public void stop(final Runnable callback) {
        stop();
        callback.run();
    }

    @Override
    public void start() {
        LOGGER.warn("************** start ");
        isRunning = true;
    }

    @Override
    public void stop() {
        LOGGER.warn("************** stop");
        isRunning = false;
    }

    @Override
    public boolean isRunning() {
        LOGGER.warn("************** is running" + isRunning);
        return isRunning;
    }

    @Override
    public int getPhase() {
        LOGGER.warn("************** phase " + (Integer.MIN_VALUE));
        return Integer.MIN_VALUE;
    }
}
</code></pre>

<p>The order does not seem to be running correctly. All the beans seem to be constructed before the phase is even considered, which is causing by application to fail startup.</p>

<p>How can I fix this and correctly specify the order? Am I using this incorrectly?</p>