← 返回文章列表

oa-backend-framework项目架构设计 - 启动应用

分类:计算机/架构/oa-backend-framework项目架构设计

OA系统的启动原理:OA系统在Web容器上注册了一个Servletweaver.general.InitServer。启动Web容器时,会执行InitServerinit()方法,OA系统就在该方法中启动,执行各种初始化操作。

同理,我们也可以在Web容器中注册一个ServletMyApplicationStartupServlet,实现启动:

// 使用@WebServlet注解注册Servlet,可以免于修改web.xml。
// loadOnStartup:取最大整数,确保应用在OA系统启动之后才启动。
// urlPatterns:此Servlet不处理HTTP请求,但注解要求必填,所以这里给一个不会与OA系统冲突的路径即可。
@WebServlet(loadOnStartup = Integer.MAX_VALUE, urlPatterns = "/my")
public class MyApplicationStartupServlet extends HttpServlet {
    @Override
    public void init() {
        // 启动应用程序,执行初始化
    }
}

应用启动时执行的初始化过程:

  1. 打印应用logo,类似于Spring Boot,这可以让我们在日志中更显著地看到应用启动。
  2. 初始化数据源。
  3. 初始化IoC容器。
  4. 对OA系统进行配置,例如动态注册免用户身份检查的API路径前缀(unchecksessionurl)。