初始化spring容器的一种方式

package com.itheima.utils;

import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class AppUtils {
private ApplicationContext ac;

public void getClassPathXmlApplicationContext(String xmlName){
if (ac ==null)
ac= new ClassPathXmlApplicationContext(xmlName);
}
public <T> void getAnnotationConfigApplicationContext(Class<T> t){
if (ac ==null)
ac= new AnnotationConfigApplicationContext(t);
}

public Object getBean(String name){
return ac.getBean(name);
}
public <T> T getBean(Class<T> tClass){
return ac.getBean(tClass);
}
}
要加static哟 再加个监听


package com.itheima.listener;

import com.itheima.utils.AppUtils;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;

/**
* @author 长沙黑马程序员
*/
@WebListener
public class ContextLoadListener implements ServletContextListener {

@Override
public void contextInitialized(ServletContextEvent sce) {
// 当web工程部署到tomcat中,则ServletContext对象会创建,于是触发监听器的初始化方法
// 我们则将spring的IOC容器也初始化
AppUtils.initByXml("applicationContext.xml");
}

@Override
public void contextDestroyed(ServletContextEvent sce) {

}
}

posted @ 2020-10-14 21:00  尘缘01  阅读(146)  评论(0编辑  收藏  举报