如何在ServletContextListener中获取@Configuration对象?

时间:2016-06-06 16:26:12

标签: spring servletcontextlistener

我在这里有ApplicationConfiguration课程:

@Configuration
@PropertySource("classpath:application.properties")
public class ApplicationConfiguration implements DatabaseConfiguration {    

    @Value("${jdbc.driver}")
    private String jdbcDriver;

    // ..

    @Override
    public String getJdbcDriver() {
        return this.jdbcDriver;
    }

    // ..
}

提供有关我的应用程序的某些信息,例如我想使用哪个JDBC驱动程序。但是,我不知道如何使用它,因为我正在引导我的服务器。如何获得初始化的ApplicationConfiguration对象以及使用Spring执行此操作的最佳位置。

我当前的ansatz正在使用ServletContextListener,但此时我不知道如何访问配置对象:

public class BootstrappingServerConfig implements ServletContextListener {

    @Override
    public void contextInitialized(ServletContextEvent event) {

        // ..

        // How can I load my application configuration at this point
        // or is there a better place to do that actually?
        ApplicationConfiguration applicationConfiguration;

        try {
            SqlDatabaseBootstrapper.executeMigration(dataSource, applicationConfiguration);
        } catch(Exception e) {
            throw e;
        }
    }   
    // ..
}

我可以在这做什么?在@Configuration中使用ServletContextListener这样的对象是一个好主意还是我会在其他地方进行这种初始化?如果可以,我打算做什么......我怎样才能获得配置对象?

0 个答案:

没有答案