跳到主要内容

快速上手

引入依赖

截止到目前为止 hasor 的最新版本为:4.2.5

<dependency>
<groupId>net.hasor</groupId>
<artifactId>hasor-core</artifactId>
<version>4.2.5</version>
</dependency>

引入依赖包之后通过一行代码即可创建 Hasor

AppContext appContext = Hasor.create().build();
提示

需要注意的是,一个应用中可以存在多个 Hasor 环境。因此在同一个应用中多次调用上述代码会导致创建多个不同的 AppContext。它们彼此之间没有任何关系。

启动模式

Hasor 的启动有三种模式,所有模式都在 net.hasor.core.Hasor.Level 类中定义。

  • Hasor 默认运行在 Full 模式中,无需特意指定。
  • 明确指定 Hasor 启动模式的方法如下。
模式启动方式功效
FullHasor.create().asFull().build();完整加载框架和可以发现的所有插件模块。
CoreHasor.create().asCore().build();只完整的加载 hasor-core。
TinyHasor.create().asTiny().build();最小化启动。放弃一切插件加载包括 hasor-core 中的内置插件。
提示

Tiny 模式下,相当于设置 HASOR_LOAD_MODULE 和 HASOR_LOAD_EXTERNALBINDER 两个环境变量为 false。

最后在启动的时候指定配置文件。

Hasor.create().mainSettingWith("my-hconfig.xml").build();

Module

在 Hasor 里大部分的工作都是从 net.hasor.core.Module 接口开始。使用 Module 您需要编写一个类实现这个接口,下面这段代码就是我们实现的第一个 Module

public class FirstModule implements Module {
public void loadModule(ApiBinder apiBinder) {
...
}
}

接着在启动的中加载这个 Module

Hasor.create().build(new FirstModule());

Hasor 会在启动过程中调用上面那个 Module 方法。

加载多个 Module
Hasor.create().build(new UserModule(),new ClassModule() ...);
Module 加载 Module
public class RootModule implements Module {
public void loadModule(ApiBinder apiBinder) throws Throwable {
...
apiBinder.installModule(new UserModule());
apiBinder.installModule(new ClassModule());
...
}
}
配置文件加载 Module
<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://www.hasor.net/sechma/main">
<!-- 默认要装载的模块 -->
<hasor.modules>
<module>net.hasor.web.render.RenderWebPlugin</module>
<module>net.hasor.plugins.startup.StartupModule</module>
<module>net.hasor.plugins.aop.AopModule</module>
</hasor.modules>
</config>