gpt4 book ai didi

java - Spring - 将服务 Autowiring 到 POJO

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:50:09 24 4
gpt4 key购买 nike

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

我的模型

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

编辑

用户服务

@Component
public Class UserService {

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

}

最佳答案

Spring 管理的组件只能连接到另一个由 Spring 管理的 beans。

但是,如果您真的需要它,有一个技巧可以将服务添加到您的 POJO:

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

关于java - Spring - 将服务 Autowiring 到 POJO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44566583/

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