第2章 程序的基本结构 - 2.1 初始化

优质
小牛编辑
123浏览
2023-12-01

所有Blade程序都需要创建一个 Blade 对象实例。Web服务器使用了内置的Netty Web服务,把接收客户端的请求都转交给它处理,创建一个 Blade 对象实例只需要写如下一行代码:

  1. Blade blade = Blade.me();

工程结构

在前面的章节中我们学习了如何创建一个 Blade 工程,通常我们创建好的工程结构大致如下:

  1. ☁ project
  2. .
  3. ├── package.xml
  4. ├── pom.xml
  5. ├── src
  6. │ ├── main
  7. │ │ └── java
  8. │ │ ├─── com.example.blog
  9. │ │ ├──── model
  10. │ │ ├──── service
  11. │ │ ├──── controller
  12. │ │ ├──── context
  13. │ │ ├─── Application.java
  14. │ │ └──── resources
  15. │ │ └── static
  16. │ │ └── templates
  17. │ │ └── app.properties
  18. └───└── test
  19. └── java

这是一个很常规的项目结构。我们推荐把启动类Application.java放在根包中(即com.example.blog里面),这样可以避免一些奇怪的问题。

我们可以把静态资源文件放在 static 目录中,将模板文件放在 templates 目录,但这并不是绝对的,我们可以通过配置文件app.properties来修改这些配置以及其他的配置。

启动流程

当你编写好了一个 Blade 实例,只需要调用它的 start 方法即可启动一个web服务。Blade的初始化步骤是这样的:

  1. 输出环境信息
  2. 加载配置文件配置
  3. 加载命令行配置
  4. 初始化配置
  5. 初始化上下文
  6. 初始化IOC容器
    6.1 初始化中间件
    6.2 注册路由
    6.3 执行BeanProcessor preHandle
    6.4 执行BeanProcessor processor
  7. 启动一个Web服务

上面看起来可能有些繁琐,但对于使用者几乎只需要关心如何注入 Bean 就可以了。