我有很多实现接口的bean,我希望它们都具有相同的@PostConstruct。我添加了 @PostConstruct
我的接口方法的注释,然后添加到我的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(..) {
....
}
}
@PostConstruct
必须继续bean java类
本身。我不知道它会在界面上做什么。
你的XML中有这个吗?
<context:annotation-config />
这是一些示例代码: @PostConstruct示例