java - 我可以在接口(interface)方法上使用@PostConstruct 吗?

标签 java spring interface postconstruct

我有许多实现接口(interface)的 bean,我希望它们都具有相同的 @PostConstruct。我已将 @PostConstruct 注释添加到我的接口(interface)方法中,然后添加到我的 bean 定义中:

<bean class="com.MyInterface" abstract="true" />

但这似乎不起作用。如果这是可能的,我会错在哪里?

编辑:我已将注释添加到界面中,如下所示:

package com;
import javax.annotation.PostConstruct;
public interface MyInterface {
    @PostConstruct
    void initSettings();
}

最佳答案

@PostConstruct 必须在实际的 bean 本身上,而不是在 Interface 类上。如果您想强制所有类都实现@PostConstruct 方法,请创建一个抽象类并将@PostConstruct 方法也抽象化。

public abstract class AbstractImplementation {

    @PostConstruct
    public abstract init(..);
}

public class ImplementingBean extends AbstractImplementation {
    public init(..) {
        ....
    }
}

关于java - 我可以在接口(interface)方法上使用@PostConstruct 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16589569/

相关文章:

java - Azure 应用服务首次请求时速度缓慢

java - 项目 Euler #10 Java 不工作

java - 为什么spring不使用ajax上传呢?

java - 使用 Spring、Play Framework、Struts 构建的网站示例

java - 如何使用枚举实现接口(interface),接口(interface)扩展 Comparable?

java - 方法内部不允许接口(interface)

java - 从Luaj继承Java类

java - 如何*轻松*在 Java 程序中显示韩语字符

java - Selenium 代码 (CUCUMBER) 未在 Intellij IDEA 上执行

java - 在 Java 中是否有将 Object 转换为 String 的标准接口(interface)?