`

Guice Stages (运行阶段)

阅读更多

Guice还有一个特效,可以指定Guice运行模式来控制Guice的加载速度。在com.google.inject.Stage枚举中提供了TOOL,DEVELOPMENT,PRODUCTION三种模式。

TOOL描述的是带有IDE等插件的运行模式;DEVELOPMENT是指在开发阶段只加载自己需要的功能(对于非立即初始化单例对象采用延后加 载),这样来降低加载不需要功能的时间;而PRODUCTION模式是指完全加载所有功能(对于单例对象采用立即加载方式),这样可以更早的发现问题,免 得等需要某些功能的时候才发现问题(要知道我们某些功能可能需要特定的条件才能触发)。

其实只有比较多的单例对象,并且单例对象构造比较耗时的情况下才能有用。大部分情况下这点性能可能都忽略不计了。

默认情况下Guice采用DEVELOPMENT模式。

 

see codes

  /**
   * Creates an injector for the given set of modules, in a given development
   * stage.
   *
   * @throws CreationException if one or more errors occur during injector
   *     construction
   */
  public static Injector createInjector(Stage stage,
      Iterable<? extends Module> modules) {
    return new InternalInjectorCreator()
        .stage(stage)
        .addModules(modules)
        .build();
  }

分享到:
评论

相关推荐

    guice.jar/guice.jar

    guice.jar guice.jar guice.jar guice.jar guice.jar guice.jar guice.jar

    guice-3.0.rar

    Guice负责在运行时自动装配这些依赖关系。 - **模块**:Guice中的Module是配置Guice容器的地方,它定义了依赖关系、绑定和注解映射。 - **注解**:Guice通过注解来标记类、方法和字段,以指示它们在容器中的角色和...

    Guice用户中文指南

    4. **灵活性**:Guice允许在运行时动态地配置依赖关系。 5. **强大的社区支持**:由于其开源特性,Guice拥有一个活跃的社区,提供了丰富的资源和支持。 #### 三、示例解析 在给定的部分内容中,首先介绍了一个简单...

    Guice 中文文档 例子

    通过阅读文档和运行示例,开发者可以快速理解和掌握 Guice 的使用方法,将其有效地应用于实际项目中,提升代码质量。 **总结** Guice 是一个强大的依赖注入框架,它简化了 Java 应用程序中的对象创建和管理,提高...

    基于guice的简单项目

    5. **运行HelloWorld**: 最后,`sayHello()`方法会被调用,展示出Guice注入的依赖如何协同工作。 项目中包含的两个jar包很可能是Guice的库文件,如guice.jar和guice-assistedinject.jar。这些库提供了Guice的基本...

    Google Guice需要的jar

    Guice通过在运行时自动管理和提供对象之间的依赖关系,使得代码更加灵活和易于扩展。 Guice-3.0.jar是Google Guice的核心库,包含了Guice框架的所有核心功能。这个版本提供了模块化(Modules)的概念,允许开发者...

    google guice 3.0源码

    5. **注解处理(Annotation Processing)**:Guice使用Java的注解处理工具(APT)在编译时生成元数据,从而在运行时提高效率。这包括生成代理类和绑定类。 6. **AOP(面向切面编程)支持**:虽然Guice不是专门的AOP...

    guice超轻量级依赖注入

    在Guice中,我们通过注解(Annotations)来声明类之间的依赖关系,而Guice则负责在运行时自动管理和注入这些依赖。 1. **依赖注入原理**:Guice的核心思想是通过容器来管理对象的创建和生命周期,将对象的依赖关系...

    初试Guice测试文件

    在Guice中,我们通常使用`@Inject`注解来声明依赖,Guice会在运行时自动填充这些依赖。 4. `MyService.java`、`MyService01.java`, `Service01Impl.java`, `MyServiceImpl.java`: 这些是服务接口和服务实现。Guice...

    Google Guice: Agile Lightweight Dependency Injection Framework

    - **性能**:Guice的启动速度更快,运行时占用资源较少。 - **灵活性**:虽然Spring提供了更广泛的特性和配置选项,但Guice的设计更加专注于核心功能。 - **与PicoContainer的比较**: - **API设计**:Guice的...

    初试Guice(转)

    相反,对象的依赖关系是在运行时通过配置或专门的容器(如Guice的Injector)来提供的。这样可以提高代码的可重用性,降低模块间的耦合度,并便于进行单元测试。 Guice提供了一些关键特性: 1. **注解驱动的配置**...

    mybatis-guice

    2. **依赖注入**:通过 Guice,可以在运行时动态地将数据库相关的依赖(如 DataSource)注入到需要的地方,使得代码更加灵活,易于测试。 3. **模块化**:Guice 支持模块化的依赖管理,可以方便地将数据库访问逻辑...

    guice-4.0-API文档-中文版.zip

    赠送jar包:guice-4.0.jar; 赠送原API文档:guice-4.0-javadoc.jar; 赠送源代码:guice-4.0-sources.jar; 赠送Maven依赖信息文件:guice-4.0.pom; 包含翻译后的API文档:guice-4.0-javadoc-API文档-中文(简体)版...

    Guice与Spring框架的区别.pdf

    Guice会在运行时动态地将MyServiceImpl对象赋给MyService定义的对象。 Guice的Module文件 Guice的Module文件是用于配置Guice的依赖注入机制的。例如,在上面的代码中,我们定义了一个MyModule文件,其中configure...

    shiro,guice集成

    ### Apache Shiro 与 Guice 集成详解 #### 概述 在现代软件开发过程中,集成不同的框架和技术是常见的需求。Apache Shiro 是一个强大的、易用的 Java 安全框架,提供了认证、授权、加密和会话管理功能。而 Google ...

    google-guice用户手册

    - **灵活**:Guice 允许开发者在运行时动态配置依赖关系,从而提供了极大的灵活性。 - **减少代码重复**:Guice 减少了对工厂模式和其他样板代码的需求,使得代码更加精简。 #### 四、经典示例分析 为了展示 Guice...

    google Guice 1.0 用户指南 中文

    "google Guice 1.0 用户指南 中文" Guice 是一个超轻量级的、下一代的、为 Java 5 及后续版本设计的依赖注入容器。它可以帮助 Java 企业应用开发社区解决连接对象方面的问题,例如 Web 应用如何访问中间层服务、...

    Java on Guice

    - **测试稳定性**:“我的测试永远不会在运行顺序不同的情况下神秘失败!”Guice通过提供稳定的依赖注入机制确保了测试的一致性和稳定性。 - **避免未来问题**:“我认为我不会遇到这些问题!”使用Guice可以帮助...

Global site tag (gtag.js) - Google Analytics