package com.shizhan.ps.impl;
import java.util.Map;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import org.springframework.beans.factory.DisposableBean;
import org.springframework.beans.factory.InitializingBean;
import com.shizhan.ps.PersonService;
public class PersonServiceImpl implements PersonService,InitializingBean, DisposableBean {
private Map<String, String> map;
public PersonServiceImpl()
{
System.out.println("构造函数被调用");
}
@Override
public void service()
{
System.out.println("first spring");
}
//定义初始化方法
public void init()
{
System.out.println("初始化方法被调用");
}
//定义destroy方法
public void destroy()
{
System.out.println("销毁方法被调用");
}
@Override
public void afterPropertiesSet() throws Exception {
System.out.println("afterPropertiesSet方法被调用");
}
@PostConstruct
public void init2() {
System.out.println("@PostConstruct被调用" );
}
@PreDestroy
public void dispose2() {
System.out.println("@PreDestroy被调用");
}
public void setMap(Map<String, String> map) {
this.map = map;
}
}
<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd">
<context:annotation-config/>
<!-- 使用类的默认构造函数创建bean -->
<bean id="PersonService1" class="com.shizhan.ps.impl.PersonServiceImpl" init-method="init"
destroy-method="destroy">
<property name="map">
<map>
<entry key="hello" value="world"></entry>
<entry key="love" value="you"></entry>
</map>
</property>
</bean>
</beans>
执行结果:
构造函数被调用
@PostConstruct被调用
afterPropertiesSet方法被调用
初始化方法被调用
first spring
@PreDestroy被调用
销毁方法被调用