每次实例化javabean时,我都想执行一段代码,这会在bean本身中创建一个变量。我正在使用java 1.4
答案 0 :(得分:1)
我认为您正在描述一个构造函数,但是请注意,您不创建变量,而是为它们赋值(使用静态类型语言)
答案 1 :(得分:1)
显而易见的解决方案是更改bean的构造函数以执行该代码。如果类当前只有默认(no-args)构造函数,则添加一个。
构造函数需要是一个符合JavaBeans约定的无参数构造函数。但是如果初始化取决于某些属性的值,则可以始终将其放入setter中;例如:
public class MyBean {
private boolean initialized;
private String prop1, prop2;
/* Add getters here */
public void setProp1(String prop1) {
this.prop1 = prop1;
initWhenReady();
}
public void setProp2(String prop2) {
this.prop2 = prop2;
initWhenReady();
}
private void initWhenReady() {
if (prop1 != null && prop2 != null && !initialized) {
/* do initialization */
initialized = true;
}
}
}
值得注意的是,某些bean框架提供了更好的方法。例如,Spring的InitializingBean
接口提供了一个回调方法,当所有bean实例都已创建并连线时,该方法被调用(一次)。这是一个放置依赖于多个bean属性的初始化的好地方。
答案 2 :(得分:1)
请更具描述性。
服务器中bean的用途是什么?
你可以简单地在bean的构造函数中实例化它们
public class MyBean implements Serializable {
private String var;
MyBean(){
// enter code here for intialization
//eg. var="hi";
}