gpt4 book ai didi

java - Spring @autowired 返回空值

转载 作者:行者123 更新时间:2023-12-03 23:14:50 27 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Why is my Spring @Autowired field null?

(21 个回答)


8年前关闭。




这个特定类的成员私有(private)字段被注释@autowired 在服务JAR 中,当我试图在我的代码中获取类的实例时,@autowired 成员总是返回为空。我在项目的 context.xml 中有以下组件扫描语句,它试图在 JAR 中查找基本包,但似乎空值被注入(inject)到带注释的成员中。 JAR 内部还有一个 context.xml,它具有与以下相同的组件扫描条目。 JAR 源代码现在无法更改,我有什么遗漏吗?

<!-- local WEB-INF/spring-context/spring-application-context.xml -->
<context:annotation-config />
<context:component-scan base-package="blah.blah" />
//this code within my project
//wjc.getMethod() dereferencing comes back null
public class A{
WithinJARInterface wjc = new WithinJARInterfaceImpl()
List someObject = wjc.getMethod()
}
 //this code interface within JAR
public interface WithinJARInterface{
public List getMethod() throws Exception();
}
 //this code within JAR
public class WithinJARInterfaceImpl implements WithinJARInterface{

//below member always comes back NULL
@Autowired
private JARService jService;

public List getMethod(){.....}

}
 public interface JARService{
public List method1();
}
  @Service("JARService") 
public class JARServiceImpl implments JARService {
public List method1(){ }
}

最佳答案

您正在自己构建 WithinJARInterfaceImpl (通过调用 new ),因此它不由 spring 管理,因此不会注入(inject)值。

关于java - Spring @autowired 返回空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10501772/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com