首页 > 代码库 > java获取spring的bean
java获取spring的bean
/**
* 加载spring配置文件,提供getBean接口.
* @author xiongzy
*
*/
public final class BeanLocator {
private static final Logger logger = Logger.getLogger(BeanLocator.class);
/**
* 单实例.
*/
private static BeanLocator instance = null;
/**
* 缺省配置文件名称.
*/
private static final String DEFAULT_CONFIGURATION_FILENAME = "spring/applicationContext.xml";
/**
* 加载配置文件名.
*/
private static String configurationFileName = null;
/**
* spring环境.
*/
private ApplicationContext applicationContext = null;
/**
* 单例模式.
* @return 接口
*/
public static BeanLocator getInstance() {
if (instance == null) {
// 同步控制代码, 防止初始化多次.
synchronized(logger) {
if (instance == null) {
instance = new BeanLocator();
}
}
}
return instance;
}
/**
* 设置配置文件名.
* @param fileName 配置文件名
*/
public static void setConfigurationFileName(String fileName) {
configurationFileName = fileName;
}
/**
* 私有构造.
*/
private BeanLocator() {
if (configurationFileName == null || configurationFileName.length() == 0) {
configurationFileName = DEFAULT_CONFIGURATION_FILENAME;
}
// 得到spring框架bean环境
try{
applicationContext = new ClassPathXmlApplicationContext(configurationFileName);
}catch(Exception e){
logger.error("初始化spring配置文件时发生异常:" + e.getMessage(), e);
throw new RuntimeException("初始化spring配置文件时发生异常:" + e.getMessage(), e);
}
}
/**
* spring getBean 接口.
* @param beanName 接口名称
* @return 接口
*/
public Object getBean(String beanName) {
return applicationContext.getBean(beanName);
* 加载spring配置文件,提供getBean接口.
* @author xiongzy
*
*/
public final class BeanLocator {
private static final Logger logger = Logger.getLogger(BeanLocator.class);
/**
* 单实例.
*/
private static BeanLocator instance = null;
/**
* 缺省配置文件名称.
*/
private static final String DEFAULT_CONFIGURATION_FILENAME = "spring/applicationContext.xml";
/**
* 加载配置文件名.
*/
private static String configurationFileName = null;
/**
* spring环境.
*/
private ApplicationContext applicationContext = null;
/**
* 单例模式.
* @return 接口
*/
public static BeanLocator getInstance() {
if (instance == null) {
// 同步控制代码, 防止初始化多次.
synchronized(logger) {
if (instance == null) {
instance = new BeanLocator();
}
}
}
return instance;
}
/**
* 设置配置文件名.
* @param fileName 配置文件名
*/
public static void setConfigurationFileName(String fileName) {
configurationFileName = fileName;
}
/**
* 私有构造.
*/
private BeanLocator() {
if (configurationFileName == null || configurationFileName.length() == 0) {
configurationFileName = DEFAULT_CONFIGURATION_FILENAME;
}
// 得到spring框架bean环境
try{
applicationContext = new ClassPathXmlApplicationContext(configurationFileName);
}catch(Exception e){
logger.error("初始化spring配置文件时发生异常:" + e.getMessage(), e);
throw new RuntimeException("初始化spring配置文件时发生异常:" + e.getMessage(), e);
}
}
/**
* spring getBean 接口.
* @param beanName 接口名称
* @return 接口
*/
public Object getBean(String beanName) {
return applicationContext.getBean(beanName);
}
public static void main(String[] args) {
CityInfoService cityInfoService = (CityInfoService)BeanLocator.getInstance().getBean("cityInfoService");
System.out.println(cityInfoService);
}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。