gpt4 book ai didi

java - 纯 Java 中是否有类似 @PostConstruct 的东西?

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

我有这样的 A 类和 B 类:

public static class A {
public A() {
System.out.println("A");
}

public void init() {
System.out.println("RUN AFTER CONSTRUCTOR");
}
}

public static class B extends A {
public B() {
System.out.println("B");
}
}

public static void main(String[] args) {
new B();
}

我希望 A 和 A 的所有子类在构造函数完成后运行一段代码。

是否可以不添加 Spring/AspectJ 或类似的东西?

最佳答案

没有。 Plain Java 没有提供类似的钩子(Hook)方法。
@PostConstruct 在 bean 容器中可用,最初设计用于在依赖注入(inject)完成后执行初始化处理。
当容器为您执行 bean 的实例化(和销毁)时,它有一种在实例化之后(或销毁之前)执行代码的方法:@PreDestroy

But i don't want to repeat it in every subclass, and it should be called after even the subclass constructor has finished

如果层次结构的每个构造函数调用都必须执行特定处理,则必须在每个类或基类中指定。

关于java - 纯 Java 中是否有类似 @PostConstruct 的东西?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49679703/

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