如何使Intellij检测通用父类中定义的Spring bean

时间:2018-01-25 10:48:00

标签: java spring intellij-idea

我有很多代码看起来像这样

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class ConfigurationBase<T>
{
    public @Bean(name="S1") T getS1() { return null; }
    public @Bean(name="S2") T getS2() { return null; }
}

派生类看起来像这样:

import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;

public class ConfigurationDerived extends ConfigurationBase<String>
{
    @Override
    public String getS1() { return "S1+++"; }

    public @Bean(name="S3") String getS3() { return "S3"; }

    public @Bean(name="ID") String getCompositeName(
            @Qualifier("S1") String s1,
            @Qualifier("S2") String s2,
            @Qualifier("S3") String s3)
    {
        return "hello!";
    }
}

当基类不是通用的时,IntelliJ能够找到所有Spring依赖项。

但是当在这个例子中,基类是通用的,它找不到基类中定义的bean

例如,在这里,它不会找到bean“S1”和“S2”

有解决方法吗?

0 个答案:

没有答案