gpt4 book ai didi

java - @PostConstruct可以用来代替@Bean/@Produces吗?

转载 作者:行者123 更新时间:2023-12-01 11:41:18 25 4
gpt4 key购买 nike

我正在阅读this post当我考虑用简单的 @PostConstructor 替换任何 @Bean (Spring DI) 或 @Produces (CDI) 的可能性时,如以下 CDI 示例:

替换:

public class MyClassFactory {

@Produces
@RequestScoped
public MyClass createMyClass() {
MyClass myClass = new MyClass();
myClass.setA(1);
return myClass;
}
}

public class MyClass {

private int a;

private void setA(int a) {
this.a = a;
}
}

与:

public class MyClass {

@PostConstruct
public void init() {
this.setA(1);
}

private int a;

private void setA(int a) {
this.a = a;
}
}

这是正确的吗?这些选项之间有什么区别?

最佳答案

不,@PostConstruct 为 bean 的初始化定义了一个拦截器。它不能用于定义 bean 的实例化

关于java - @PostConstruct可以用来代替@Bean/@Produces吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29501025/

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