Spring在代码中获取bean的几种方式

摘要:ssm框架学习
你想输入的替代文字

在ssm中获取bean的几种方式

获取bean也就需要获取ApplicationContext

方法一:在初始化时保存ApplicationContext对象 

//根目录
ApplicationContext ac = new FileSystemXmlApplicationContext(“src/applicationContext.xml”);
//src下
ApplicationContext ac = new ClassPathXmlApplicationContext(“applicationContext.xml”);
ac.getBean(“userService”);
//比如:


方法二:通过Spring提供的utils类获取ApplicationContext对象 

ApplicationContext ac1 = WebApplicationContextUtils.getRequiredWebApplicationContext(ServletContext sc);
ac1.getBean(“beanId”);


方法三:继承自抽象类ApplicationObjectSupport 

调用getApplicationContext()方法。能够方便的获取ApplicationContext。


方法四:继承自抽象类WebApplicationObjectSupport 

调用getWebApplicationContext()获取WebApplicationContext


方法五:实现接口ApplicationContextAware 

实现setApplicationContext(ApplicationContext context)方法
public void setApplicationContext(ApplicationContext applicationContext) {
SpringContextUtil.applicationContext = applicationContext;
}


方法六:通过Spring提供的ContextLoader

WebApplicationContext wac = ContextLoader.getCurrentWebApplicationContext();
wac.getBean(beanID);