Guice中常用标注的介绍

 
        
标注是在JDK 1.5以后提出的概念,Guice的标注不仅本身支持依赖注入,而且对自定义注解、用户自定义Bean作用域都提供了很好的支持。以下就是Guice用到的所有标注。
 @BindingAnnotation标注
 当我们新建绑定标注时需要使用@BindingAnnotation进行声明,如代码12-7所示。
代码12-7  newAnnotation.java
@Retention(RUNTIME)
@Target({ FIELD, PARAMETER })
@BindingAnnotation
public @ interface newAnnotation {}

在这个代码中新建一个标注,这个标注会在编译时一起编译,可以作用的对象是参数和字段,然后用@BindingAnnotation设置这个标注,用于进行绑定。
  @ImplementedBy标注
@ImplementedBy标注是用来声明当前接口支持的实现类,如代码12-8所示。
代码12-8  ImplementedBy标注

在这个代码中用@ImplementedBy标注设置了Sunyang接口支持的实现类为SunyangImpl。
  @Inject标注
@Inject标注作用是依赖注入,它根据作用的对象不同分为方法注入、构造方法注入、字段注入,可以根据实际情况来选择。@Inject标注通过optional参数来定义注入的接口是否需要注入的实现类,默认情况必须显示声明注入接口的实现类。具体使用在下文中介绍。
@ProvidedBy标注
@ProvidedBy 标注,用来定位并实例化提供者类,并用它获取想要的对象。否则试图实例化类型本身。
@ScopeAnnotation标注
@ScopeAnnotation标注,用于指定作用域的标注必须有一个 @ScopeAnnotation标注,一个类只能使用一个此类标注。
  @Singleton标注
@Singleton标注作用于一个接口实现类上,声明这个实现类作用于一个单例,如代码12-9所示。
代码12-9  Singleton标注
package sunyang;
import com.google.inject.Singleton;
@Singleton
public class SunyangImpl implements Sunyang {
public void print() {
    System.out.println( "技术凝聚实力,专业创造辉煌");
}
}

这段代码中用@Singleton标注声明了SunyangImpl对Sunyang的实现作用于一个单例。
@Named标注
@Named标注作用于成员变量或者方法的参数,可以通过Binder的annotatedWith方法将其得到。
@RequestParameters标注
@RequestParameters用来控制HTTP请求为Map类型参数或者字段的注入。
@RequestScoped标注
想要获得当前请求的实例必须将@RequestScoped标注在执行类中声明。
@SessionScoped标注
想要获得当前会话的实例必须将@SessionScoped标注在执行类中声明。
 
 
吉林省三扬科技咨询有限公司- 长春JAVA培训| Java培训| PHP培训| 3G培训| 长春三扬java培训| 长春培训| C++培训| 嵌入式培训| ORACLE培训| 软件测试培训|. Net培训| 游戏培训|嵌入式LINUX培训| 数据库培训| 大学生IT培训|| 软件培训| IT培训| IT就业培训| 软件工程师培训| 程序员培训| 电脑培训| IT认证培训| 大学生就业培训| 职业技能培训| IT业余班| 周末班培训

你可能感兴趣的:(职场,Guice,休闲)