Java 成功注入Springbean上的NullPointerException
我正在尝试使用Spring的属性文件。文件注入工作正常,我可以访问我的bean。 例如,此代码Java 成功注入Springbean上的NullPointerException,java,spring,properties,Java,Spring,Properties,我正在尝试使用Spring的属性文件。文件注入工作正常,我可以访问我的bean。 例如,此代码 @Autowired private Properties properties; 给我这个错误:没有定义[java.util.Properties]类型的合格bean:需要单个匹配bean,但找到了2:csvHeaderProperties,systemProperties 当我使用resource注入属性时,我没有得到任何错误,而且一切看起来都很好: @Component pub
@Autowired
private Properties properties;
给我这个错误:没有定义[java.util.Properties]类型的合格bean:需要单个匹配bean,但找到了2:csvHeaderProperties,systemProperties
当我使用resource注入属性时,我没有得到任何错误,而且一切看起来都很好:
@Component
public Class MyClass {
@Resource(name="csvHeaderProperties")
private Properties properties;
}
但是,此代码为我提供了一个NPE:
@Component
public class DynCSVService {
@Autowired
private DynCSVDictionnary headerDico;
public void processFile() {
System.out.println(headerDico);
}
}
这两个文件位于同一个包中。
这段代码有什么问题吗?Spring应该如何推断插入哪一个
如果有两个或更多可能的匹配项可供注入,则必须命名它 您应该使用@Named注释 这里有一个例子
@Named("userDAO")
public class EfaUserDAOImpl
在你需要的地方注射
@Inject
private @Named("userDAO")
EfaUserDAO userDAO;
我发现了错误:它在另一个文件中,我没有注入DynCSVService,而是使用了默认构造函数