您的位置:首页 > 编程语言 > Java开发

Spring全局获取Bean实例对象

2018-01-26 21:33 645 查看
在使用maven做接口的时候发现一个问题,maven不能出现循环依赖,否则编译报错,那么如果业务逻辑中不得不循环依赖时怎么办呢?

Spring在服务启动的时候会自动加载bean实例,而且用容器管理,虽然一个项目可能依赖于其他父项目 或者 子项目,但是最终都会被编译成同一个项目,那么bean最终也就是在同一个容器中管理,此时可以借助于容器,绕过maven的循环依赖,直接从容器中获取响应的bean实例,代码如下

代码实例

 import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;

public class SpringContextHelper implements ApplicationContextAware {
private static ApplicationContext context = null;

@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
this.context = applicationContext;
}

public static Object getBean(String name) {
return context.getBean(name);
}

public static Object getBean(Class<?> c) {
return context.getBean(c);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: