在java当中,我们会通过spring来管理对象。所有对象的创建,销毁都是又spring容器代为管理的。那么如果我想在通过java代码获取到容器中的某一个指定的对象。我该怎么办呢。下面是我参考网上的资料的一个尝试。
1,首先写一个class实现ApplicationContextAware。代码如下:
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
public class SpringBeanUtil implements ApplicationContextAware {
private static ApplicationContext applicationContext;
@Override
public void setApplicationContext(ApplicationContext applicationContext)
throws BeansException {
SpringBeanUtil.applicationContext = applicationContext;
}
/**
* 通过名称在spring容器中获取对象
*
* @param beanName
* @return
*/
public static Object getBeanFromSpringByBeanName(String beanName) {
return applicationContext.getBean(beanName);
}
}
2,在spring的配置文件中把我们自己实现的类交给spring容器去管理。
<bean id="SpringBeanUtil " class="com.tianque.core.util.SpringBeanUtil " scope="singleton" />
这样就可以通过java代码调用SpringBeanUtil的getBeanFromSpringByBeanName获取指定的bean对象了。
版权声明:本文为xiaofeiyang150原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。