Spring - 自动服务进入POJO

时间:2017-06-15 11:40:44

标签: java spring spring-mvc

我有一个模型,我想注入我的服务。

我的模特

@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" />

修改

UserService

@Component
public Class UserService {

  public String getMyName() { return "it's Me!";}

}

2 个答案:

答案 0 :(得分:2)

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

但是,如果您确实需要,可以向POJO添加服务:

  1. 使用setter
  2. 将UserService作为静态字段添加到您的POJO
  3. 在SpringService初始化bean之后的UserService中,将自己设置为POJO上的字段(这可以在@PostConstruct方法中完成)

答案 1 :(得分:-1)

在类中使用@Service注释,只有你可以在该类中获得@Autowired属性。