Skip to content

Commit a3a573f

Browse files
committed
Merge branch 'master' into v1.r.63-dev
2 parents 3835fd9 + 04ee80c commit a3a573f

1 file changed

Lines changed: 66 additions & 0 deletions

File tree

doc/manual/boot/overview.man

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
# 简介
2+
3+
## 什么是Nutz Boot?
4+
5+
简称NB!
6+
7+
进一步简化Nutz项目的配置复杂度,将最佳实践模块化
8+
9+
可以理解为 nutz(核心)+nutzmore(插件集)+nutz-web(jetty启动器)的重新组合并优化
10+
11+
一键生成NB的项目: [https://get.nutz.io NB构建器]
12+
13+
### 目标
14+
15+
* 将nutz易用性再提升个一个层次
16+
* 默认配置应满足80%以上的需求
17+
* 默认依赖应满足80%以上的场景
18+
19+
### 几个术语
20+
21+
* AppContext 全局上下文
22+
* Starter,一个自管理的服务
23+
24+
## 全局上下文AppContext
25+
26+
由于nutzboot启动的程序不一定是web程序,所以需要非web上下文,用于存储公用对象,例如ioc容器和配置信息
27+
28+
### AppContext具有的基本特征
29+
30+
* 随处可取
31+
* 持有一个Ioc容器
32+
* 持有配置信息
33+
* 管理starter的生命周期
34+
* 可测试,可替换
35+
36+
## 何为starter
37+
38+
"一种服务": 预配置,依赖关系完整,自我管理.
39+
40+
* 预配置: 默认值应足够好,在大部分情况下不需要修改
41+
* 依赖关系完整: pom.xml只需要加上starter的依赖,相关jar应该完整,不需要再额外添加
42+
* 自我管理: starter应该有自己的生命周期
43+
44+
## 来点感性认识
45+
46+
{{{<JAVA>
47+
package io.nutz.demo.simple;
48+
49+
import org.nutz.boot.NbApp;
50+
import org.nutz.ioc.loader.annotation.*;
51+
import org.nutz.mvc.annotation.*;
52+
53+
@IocBean
54+
public class MainLauncher {
55+
56+
@Ok("raw")
57+
@At("/time/now")
58+
public long now() {
59+
return System.currentTimeMillis();
60+
}
61+
62+
public static void main(String[] args) throws Exception {
63+
new NbApp(MainLauncher.class).run();
64+
}
65+
}
66+
}}}

0 commit comments

Comments
 (0)