Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring AutoWire提供空指针异常_Java_Spring_Maven_Autowired - Fatal编程技术网

Java Spring AutoWire提供空指针异常

Java Spring AutoWire提供空指针异常,java,spring,maven,autowired,Java,Spring,Maven,Autowired,我有一个maven mutli模块项目: 计划 -项目道 -Projectx ProjectDAO使用spring+hibernate 在Projectx中,我尝试使用以下内容: public class TesMessage implements ITesMessage { @Autowired private IGlobal iGlobal; ... iGlobal.getSomeMethod(); } 。。在上面的代码中,我得到了空指针异常,我是否遗漏了什么 我的

我有一个maven mutli模块项目:

  • 计划

    -项目道

    -Projectx

ProjectDAO使用
spring+hibernate
在Projectx中,我尝试使用以下内容:

public class TesMessage implements ITesMessage {

@Autowired
private IGlobal iGlobal;
    ...
    iGlobal.getSomeMethod();
 }
。。在上面的代码中,我得到了空指针异常,我是否遗漏了什么

我的appContext.xml中有这个

<context:component-scan base-package="com.test.nty.dal">
  <context:include-filter type="annotation"
    expression="org.springframework.stereotype.Repository" />
</context:component-scan>


谢谢

相信例外:是的,你错过了什么

您不会显示如何注释
IGlobal
接口。例外情况表明它不在Spring的控制之下。您必须让Spring应用程序上下文处理其创建以及您的
TextMessage


我会质疑这个设计。我不明白为什么每条短信都需要一些全球性的东西。对我来说,这似乎是一个单例瓶颈。

显示您的应用程序上下文您可以将
TesMessage
类放入
com.test.nty.dal
包中,并向其添加
@Repository
注释吗?这两个类位于我的应用程序的不同模块中。在我的情况下,提议的设计会不会不起作用?
TextMessage
在我的应用程序中只加载一次,因此与之无关。请解释一下是否可以做得更好:)我的
IGlobal
是用
@Repository
注释的。我不明白为什么每条短信都需要知道一个存储库。糟糕的设计-循环依赖等待发生,因为存储库需要了解TextMessage才能持久化它们。我会重新考虑的。