gpt4 book ai didi

java - spring 构造型注释是否有类似的预构造?

转载 作者:太空宇宙 更新时间:2023-11-04 08:08:15 25 4
gpt4 key购买 nike

我可以在我的域类中使用 preConstruction=true ,以便我可以在构造函数中使用 Autowiring 字段,如下所示:

@Configurable(preConstruction=true)
public class MyDomain {

@Autowired private MyContext context;

public MyDomain() {
context.doSomething(this); // access the autowired context in the constructor
}

}

但是,当我想使用普通构造型注释(例如 @Repository 或 @Service)除了构造函数注入(inject)之外访问类中的 Autowiring 字段时, preConstruction 的等价物是什么(当前在这里使用 spring 3.x ..)?

@Repository
public class MyDomainRepository {

@Autowired private MyContext context;

public MyDomain() {
// cannot access the autowired context in the constructor
context.doSomething(this);
}

}

最佳答案

我认为这样的东西不适用于常规 Spring bean,但解决此问题的通常方法是使用 @PostConstruct 注释方法而不是构造函数:

@PostConstruct
public void init() {
context.doSomething(this);
}

在注入(inject)所有依赖项后,Spring 将调用此方法。

关于java - spring 构造型注释是否有类似的预构造?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11716301/

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