我有许多实现接口(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/