我使用spring roo构建项目,它是注解驱动的,XML文件中没有bean定义。所有配置信息都在 *.aj 文件中。
现在我想为没有默认构造函数的 bean 设置一个 init 方法(该 bean 来自第三方,它有一个带参数的构造函数,我无法删除它们或提供默认构造函数给它。)
请问有谁可以告诉我怎么做吗?
我想这样做的原因是因为我想使用 applicationContext.getBean("thatBeanName")
动态获取bean并使用它。因为 bean 没有默认构造函数,所以我总是得到错误:java.lang.NoSuchMethodException: com.to.that.bean.<init>()
这就是为什么我想将 init 方法添加到 bean。
最佳答案
使用 @PostConstruct
如下例所示。相当于 init-method="initialize()"
@PostConstruct
public void initialize() {
messages.put("English", "Welcome");
messages.put("Deutsch", "Willkommen");
}
https://stackoverflow.com/questions/8622369/