多线程下ConfigurableListableBeanFactory是引用已存在的实例还是new了一个?

findshine 2018-01-13 10:48:39
我在主线程中用到了resource
@Resource
private AService aService;这个可以直接使用aService.方法

那么我在子线程使用
@Resource
private AService aService;这个方式是读取aService为null,
所以修改了使用方法为如下代码
private AService aService;

private void test()
{
aService=ConfigurableListableBeanFactory.getbean(AService.class)的方式来获取
}

那么我想问一下aService=ConfigurableListableBeanFactory.getbean(AService.class)这样是new了一个AService么?还是使用主线程已经存在的实例?
...全文
657 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
kampoo 2018-01-15
  • 打赏
  • 举报
回复
spring中的bean尽量设计为无状态的,因为默认创建bean是singleton模式。如果需要一个bean保持状态,要显式指定prototype。 ‘那么我在子线程使用’:这种情况比较少,建议修改为: 1. 或者将aService作为一个参数传递给子线程; 2. 或者子线程也是一个bean,自动绑定后调用即可(推荐)
Sunyiban 2018-01-15
  • 打赏
  • 举报
回复
对象只创建了一次,获取的都是同一个实例
oyljerry 2018-01-13
  • 打赏
  • 举报
回复
看AService bean是单例还是每次创建新的
Birds2018 2018-01-13
  • 打赏
  • 举报
回复
你模拟一下多个线程访问就知道了。。打印一下对象地址 如果一样就是single instance.

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧