博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
初识@Inject 注解(简单明了)
阅读量:4284 次
发布时间:2019-05-27

本文共 839 字,大约阅读时间需要 2 分钟。

@Inject 注解可以出现在三种类成员之前,表示该成员需要注入依赖项。按运行时的处理顺序这三种成员类型是:

(1)构造方法

(2)方法

(3)属性

在构造方法上使用 @Inject 时,其参数在运行时由配置好的IoC容器提供。比如,在下面的代码中,运行时调用MurmurMessage类的构造方法时,IoC 容器会注入其参数 Header 和Content 对象。

@Injectpublic MurmurMessage(Header header, Content content){
this.headr = header; this.content = content;}

规范中规定向构造方法注入的参数数量是0个或多个,所以在不含参数的构造方法上使用 @Inject 注解也是合法的。

注意:因为JRE无法决定构造方法注入的优先级,所以规范中规定类中只能有一个构造方法带@Inject注解

也可以用@Inject注解方法,与构造方法一样,运行时可注入的参数数量为0个或多个。但使用参数注入的方法不能声明为抽象方法也不能声明其自身的类型参数。下面这段代码在set方法前使用@Inject,这是注入可选属性的常用技术。

@Injectpublic void setContent(Content concent){
this.content = content;}

向方法中注入参数的技术对于服务类方法来说非常有用,其所需的资源可以作为参数注入,比如向查询数据的服务方法中注入数据访问对象(Dao)。

也可以直接在属性上注入(只要它们不是final),虽然这样做简单直接,但是不提倡这样做,因为这样做会让单元测试更加困难。直接注入的语法也很简单。

public class MurmurMessager{
@Inject private MurmurMessage murmurMessage; ...}

 

转载地址:http://cpdgi.baihongyu.com/

你可能感兴趣的文章
OK6410A 开发板 (三) 10 u-boot-2021.01 boot 解析 U-boot 镜像运行部分 cmdline
查看>>
OK6410A 开发板 (三) 11 u-boot-2021.01 boot 解析 U-boot 镜像运行部分 命令的执行
查看>>
OK6410A 开发板 (三) 12 u-boot-2021.01 boot 解析 U-boot 镜像运行部分 boot 详细解析1
查看>>
OK6410A 开发板 (三) 13 u-boot-2021.01 boot 解析 SPL 镜像运行部分 boot 详细解析
查看>>
OK6410A 开发板 (三) 13 u-boot-2021.01 boot 解析 U-boot 镜像运行部分 boot 详细解析2 relocate_vectors
查看>>
OK6410A 开发板 (三) 14 u-boot-2021.01 boot 解析 U-boot 镜像运行部分 boot 详细解析3 relocate_code
查看>>
OK6410A 开发板 (三) 15 u-boot-2021.01 boot 解析 U-boot 镜像编译部分 Makefile解析
查看>>
OK6410A 开发板 (三) 16 u-boot-2021.01 boot 解析 U-boot 镜像运行部分 irq
查看>>
OK6410A 开发板 (三) 17 u-boot-2021.01 boot 解析 U-boot 镜像运行部分 串口
查看>>
OK6410A 开发板 (三) 18 u-boot-2021.01 boot 解析 U-boot 镜像运行部分 env
查看>>
OK6410A 开发板 (三) 19 u-boot-2021.01 boot 解析 U-boot 镜像运行部分 driver model
查看>>
OK6410A 开发板 (三) A u-boot-2021.01 OK6410A 文章整理
查看>>
OK6410A 开发板 (三) 20 u-boot-2021.01 boot 解析 U-boot 镜像运行部分 system clock
查看>>
OK6410A 开发板 (三) 21 u-boot-2021.01 boot 解析 U-boot 镜像运行部分 standalone
查看>>
OK6410A 开发板 (三) 22 u-boot-2021.01 boot 解析 U-boot 镜像运行部分 malloc
查看>>
OK6410A 开发板 (三) 23 u-boot-2021.01 boot 解析 U-boot 镜像运行部分 DM 的一次实例分析 - 串口
查看>>
OK6410A 开发板 (三) 24 u-boot-2021.01 boot 解析 U-boot 镜像运行部分 fs-fat
查看>>
OK6410A 开发板 (三) 25 u-boot-2021.01 boot 解析 U-boot 内存命令 md
查看>>
OK6410A 开发板 (三) 26 u-boot-2021.01 u-boot镜像
查看>>
OK6410A 开发板 (八) A linux-5.11 OK6410A 文章整理
查看>>