這是它用於存儲有關特定用戶的詳細信息的bean類。它有兩個名爲init和destroy的方法。當bean被初始化和銷燬時需要調用它。什麼時候在spring中調用bean的destroy方法?
package org.springframework.HelloWorld.beans;
public class User {
private int userId;
private String userName;
private String address;
private String mobileNumber;
public User() {
super();
}
public User(int userId, String userName, String address, String mobileNumber) {
super();
this.userId = userId;
this.userName = userName;
this.address = address;
this.mobileNumber = mobileNumber;
}
public int getUserId() {
return userId;
}
public void setUserId(int userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getMobileNumber() {
return mobileNumber;
}
public void setMobileNumber(String mobileNumber) {
this.mobileNumber = mobileNumber;
}
@Override
public String toString() {
return "User [userId=" + userId + ", userName=" + userName
+ ", address=" + address + ", mobileNumber=" + mobileNumber
+ "]";
}
public void init(){
System.out.println("Initialized");
}
public void destroy(){
System.out.println("Destroyed");
}
}
這是我用過的主要方法。這裏我從Beans.xml文件中獲取User對象。
public static void main(String[] args) {
@SuppressWarnings("resource")
ApplicationContext ctx = new ClassPathXmlApplicationContext("Beans.xml");
User user = (User) ctx.getBean("user");
System.out.println(user);
user.setUserName("Gnanadurai Asudoss");
user.setAddress("Chxxxxx");
System.out.println(user);
user = (User) ctx.getBean("user");
System.out.println(user);
user=null;
}
下面是Beans.xml文件,這裏我提到了bean,init方法和destroy方法。
<bean id="user" class="org.springframework.HelloWorld.beans.User" init-method="init" destroy-method="destroy">
\t \t <property name="userId" value="1"></property>
\t \t <property name="userName" value="Gnanadurai"></property>
\t \t <property name="address" value="Saxxxx"></property>
\t \t <property name="mobileNumber" value="xxxxxxxx49"></property>
\t </bean>
這是我得到的輸出。在這裏你可以看到初始化方法被調用,並且不調用Destroy方法。
Initialized
User [userId=1, userName=Gnanadurai, address=Saxxx, mobileNumber=xxxxxxxx49]
User [userId=1, userName=Gnanadurai Asudoss, address=Chxxxx, mobileNumber=xxxxxxxx49]
User [userId=17505, userName=Gnanadurai Asudoss, address=Chxxxx, mobileNumber=xxxxxxxx49]
所以我不知道何時銷燬方法會被調用..你能告訴我什麼時候它會被調用。給我舉個例子。
謝謝...
是的,它的工作......感謝兄弟...... – 2015-03-02 11:29:12