开发阶段我们想让程序跑快一点儿,不愿意一次加载所有资源。
正式运行阶段我们想让程序加载所有资源,这样就能更快响应客户请求。
import com.google.inject.*; public class Main { @Inject private Service service; public static void main(String[] args) { Main main = Guice.createInjector(Stage.PRODUCTION).getInstance(Main.class); main.service.hello(); } }
Stage里有三个值可以使用,TOOL,DEVELOPMENT,PRODUCTION。
看它文档里说,TOOL是用在IDE插件中的情况,只加载最少的东西。DEVELOPMENT是开发阶段,也是我们默认使用的stage,使用的时候采取加载。PRODUCTION对应的是实际运行阶段,会一次性加载所有资源。
例子:09-01。