方法一:
applicationContext.xml中配置
<bean class="com.x.listener.InstantiationTracingBeanPostProcessor" />
public class InstantiationTracingBeanPostProcessor implements ApplicationListener<ContextRefreshedEvent> {
@Override
public void onApplicationEvent(ContextRefreshedEvent event) {
if(event.getApplicationContext().getParent() == null){//root application context 没有parent,他就是老大.
System.out.println("需要执行的逻辑代码,当spring容器初始化完成后就会执行该方法。");
}
}
}
方法二:
web.xml中配置
<listener>
<listener-class>
com.x.listener.BeansListener
</listener-class>
</listener>
public class BeansListener extends ContextLoaderListener {
public void contextInitialized(ServletContextEvent sce) {
super.contextInitialized(sce);
if (BeanManager.isNull()) {
BeanManager.init(WebApplicationContextUtils.getWebApplicationContext(sce.getServletContext()));
}
//初始化各种数据
}
}
public class BeanManager {
private static ApplicationContext ac = null;
public static void init(String[] config) {
if (ac == null)
ac = new ClassPathXmlApplicationContext(config);
}
public static void init(ApplicationContext _ac) {
if (ac != null || _ac == null)
return;
ac = _ac;
}
public static Object getBean(String beanName) {
return (ac == null) ? null : ac.getBean(beanName);
}
}
相关:
web.xml中配置
<listener>
<listener-class>
com.x.listener.SessionListener
</listener-class>
</listener>
public class SessionListener implements HttpSessionListener {
public void sessionCreated(HttpSessionEvent evn) {
}
public void sessionDestroyed(HttpSessionEvent evn) {
}
}
applicationContext.xml中配置
<bean class="com.x.listener.InstantiationTracingBeanPostProcessor" />
public class InstantiationTracingBeanPostProcessor implements ApplicationListener<ContextRefreshedEvent> {
@Override
public void onApplicationEvent(ContextRefreshedEvent event) {
if(event.getApplicationContext().getParent() == null){//root application context 没有parent,他就是老大.
System.out.println("需要执行的逻辑代码,当spring容器初始化完成后就会执行该方法。");
}
}
}
方法二:
web.xml中配置
<listener>
<listener-class>
com.x.listener.BeansListener
</listener-class>
</listener>
public class BeansListener extends ContextLoaderListener {
public void contextInitialized(ServletContextEvent sce) {
super.contextInitialized(sce);
if (BeanManager.isNull()) {
BeanManager.init(WebApplicationContextUtils.getWebApplicationContext(sce.getServletContext()));
}
//初始化各种数据
}
}
public class BeanManager {
private static ApplicationContext ac = null;
public static void init(String[] config) {
if (ac == null)
ac = new ClassPathXmlApplicationContext(config);
}
public static void init(ApplicationContext _ac) {
if (ac != null || _ac == null)
return;
ac = _ac;
}
public static Object getBean(String beanName) {
return (ac == null) ? null : ac.getBean(beanName);
}
}
相关:
web.xml中配置
<listener>
<listener-class>
com.x.listener.SessionListener
</listener-class>
</listener>
public class SessionListener implements HttpSessionListener {
public void sessionCreated(HttpSessionEvent evn) {
}
public void sessionDestroyed(HttpSessionEvent evn) {
}
}