为什么要注入自己

时间:2019-08-12 10:58:24

标签: java spring

我正在尝试制作jira插件,但不明白为什么类会在自身中注入构造函数

@JiraComponent
public class IssueKeyValidator {
    @Inject
    public IssueKeyValidator(IssueManager issueManager) {
        this.issueManager = issueManager;
    }
}

1 个答案:

答案 0 :(得分:0)

在构造函数级别的> $lineNumber = "testinput" | select-string -pattern "testinput" | select LineNumber; > $lineNumber LineNumber ---------- 1 > $lineNumber.LineNumber 1 > $lineNumber.LineNumber.GetType() IsPublic IsSerial Name BaseType -------- -------- ---- -------- True True Int32 System.ValueType 注释并不意味着构造函数类被注入,而是在构造函数的参数中的类的实例。 在这种情况下,@Inject表示应将@Inject bean注入IssueManager的构造函数中。

  

IssueKeyValidator

     

标识可注入的构造函数,方法和字段。可能适用于静态成员以及实例成员。可注射成员可以具有任何访问修饰符(私有,程序包私有,受保护,公共)。首先注入构造函数,然后注入字段,然后注入方法。将超类中的字段和方法注入子类中的字段和方法之前。没有指定字段之间以及同一类中的方法之间的注入顺序。

     

可注入的构造函数用@Inject注释,并接受零个或多个依赖项作为参数。 @Inject每个类最多可应用于一个构造函数。

https://docs.oracle.com/javaee/6/api/javax/inject/Inject.html