Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.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

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服务进入POJO_Java_Spring_Spring Mvc - Fatal编程技术网

Java Spring-Autowire服务进入POJO

Java Spring-Autowire服务进入POJO,java,spring,spring-mvc,Java,Spring,Spring Mvc,我有一个模型,我想在其中注入我的服务 我的型号 @Configurable @Entity @Table(name = "user") public Class User { @Autowired private UserService userService; { System.out.println("Trying Service : " + userService.getMyName()); } } 在这里,我总是在第7行得到一个Nu

我有一个模型,我想在其中注入我的服务

我的型号

@Configurable
@Entity
@Table(name = "user")
public Class User {

@Autowired
private UserService userService;

{
   System.out.println("Trying Service : " + userService.getMyName()); 
}

}
在这里,我总是在第7行得到一个
NullPointerException

在我的spring-context.xml中,我有:

<context:spring-configured/>
<bean
    class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor" />
<bean
    class="org.springframework.context.annotation.CommonAnnotationBeanPostProcessor" />

Spring管理的组件只能连接到Spring管理的另一个bean中

但是,如果您确实需要,有一个技巧可以将服务添加到POJO中:

  • 使用setter将UserService作为静态字段添加到POJO中
  • 在UserService中,在spring初始化bean之后,将自身设置为POJO上的一个字段(这可以在@PostConstruct方法中完成)

  • 请提供
    UserService
    的代码和您的spring上下文XML文件,提供的信息不足以确定地说明任何事情。这不是将bean注入数据模型的好方法。为什么需要这种注入?您需要在spring XML文件中有组件扫描和注释驱动的条目,类似这样的
    ,我不知道
    @Configurable
    是否是spring注释,以使类成为bean,如果没有,则必须使用
    @组件
    或类似的spring注释,据我所知,spring在初始化时不会初始化任何
    实体
    。试着调试异常,看看是Spring真的引发了异常,还是来自您的代码——您不能这样做。初始值设定项块是构造函数的一部分,依赖项是在构造对象之后注入的。你试图在它被注入之前使用它。你能写代码吗?因为你说的我不清楚
    @Component
    public Class UserService {
    
      public String getMyName() { return "it's Me!";}
    
    }