ParametersInterceptor 类学习

类中【标注】学习

 

标注是在 JDK 1.5 以后提出的概念, Guice 的标注不仅本身支持依赖注入,而且对自定义注解、用户自定义 Bean 作用域都提供了很好的支持。以下就是 Guice 用到的所有标注。
1.1  @BindingAnnotation标注

当我们新建绑定标注时需要使用 @BindingAnnotation 进行声明, 如代码 1 所示。 代码1 newAnnotation.java
@Retention(RUNTIME)
@Target({ FIELD, PARAMETER })
@BindingAnnotation
public @interface newAnnotation {}
在这段代码中新建一个标注,这个标注会在编译时一起编译,可以作用的对象是参数和字段,然后用 @BindingAnnotation 设置这个标注,用于进行绑定。

1.2  @ImplementedBy标注

@ImplementedBy 标注是用来声明当前接口支持的实现类 ,如代码 12-8 所示。
代码2 ImplementedBy标注
@ImplementedBy(SunyangImpl.class)
public interface Sunyang {}
在这 段代码中 @ImplementedBy 标注设置了 Sunyang 接口支持的实现类为 SunyangImpl

1.3  @Inject标注

@Inject 标注作用是依赖注入 它根据作用的对象不同分为 setter 方法注入、构造方法注入、字段注入 可以根据实际情况来选择。 @Inject 标注 通过 optional 参数来定义注入的接口是否需要注入的实现类,默认情况必须显示声明注入接口的实现类。具体使用在下文中介绍。

1.4  @ProvidedBy标注

@ProvidedBy 标注,用来定位并实例化提供者类,并用它获取想要的对象。否则实例化类型本身。

1.5  @ScopeAnnotation标注

@ScopeAnnotation 标注, 用于指定作用域的标注必须有一个 @ScopeAnnotation 标注,一个类只能使用一个此类标注。

1.6  @Singleton标注

@Singleton 标注作用于一个接口实现类上,声明这个实现类作用于一个单例, 如代码 3 所示。
代码 Singleton标注
package sunyang;
 
import com.google.inject.Singleton;
@Singleton
public class SunyangImpl implements Sunyang {
         public void print() {
                  System.out.println("技术凝聚实力,专业创造辉煌");
         }
}
这段代码中用 @Singleton 标注声明了 SunyangImpl Sunyang 的实现作用于一个单例。

1.7  @Named标注

@Named 标注作用于成员变量或者方法的参数 可以通过 Binder annotatedWith 方法将其得到。

1.8  @RequestParameters标注

@RequestParameters 用来控制 HTTP 请求为 Map 类型参数或者字段的注入。

1.9  @RequestScoped标注

想要获得当前请求的实例必须将 @RequestScoped 标注在执行类中声明。

1.10  @SessionScoped标注

想要获得当前会话的实例必须将 @SessionScoped 标注在执行类中声明。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值