代码之家  ›  专栏  ›  技术社区  ›  Chris Thompson

Tomcat中的Webapp引导代码

  •  3
  • Chris Thompson  · 技术社区  · 14 年前

    我正在使用Spring、Spring Security、Tomcat和MySQL开发一个javawebapp。现在我还处在一个阶段,我对数据库进行了相当频繁的更改,并重新创建了数据库来清除测试数据。最终,这不会是一个问题,但是有没有一种方法可以实例化bean或者执行代码来引导webapp呢?我希望能够利用IoC的功能来使用相同的功能,例如, PasswordEncoder

    提前谢谢!

    3 回复  |  直到 9 年前
        2
  •  3
  •   Arne Burmeister    14 年前

    创建数据库模式的一个好方法是 liquibase liquibase.spring.SpringLiquibase ,因此数据库将在需要时更新。

        3
  •  1
  •   Aaron Saunders    14 年前

    您可以使用 ApplicationListener 接口。

    在收到通知时执行必要的操作 ContextRefreshedEvent

    这种方法的好处是,框架将为您加载上下文和所有bean,因此您可以访问它们,以执行任何引导操作。

    缺点是在初始化和刷新时会触发此事件

    上下文刷新事件 在初始化或刷新ApplicationContext时发布。这里的Initialized意味着所有bean都已加载,singleton已预先实例化,ApplicationContext已准备好使用。