我这里有个项目是外包封装成jar,然后被其它引用,今天我改了一个项目,配置了多个sessionFactory,但是在启动的时候报错 Could not autowire field: private org.hibernate.SessionFactory com.sinotrans.framework.core.dao.impl.NativeSqlDaoImpl.sessionFactory; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No unique bean of type [org.hibernate.SessionFactory] is defined: expected single matching bean but found 3: [sessionFactory, sessionFactory2, sessionFactoryMore],然后发现是NativeSqlDaoImpl这里面有个代码是这么写的:
@Autowired private SessionFactory sessionFactory;
加个@Qualifier指定类型就行,但是现在由于没开源,改不了里面的代码
<p>试试@Primary注解</p>
<p>如果配置写在jar里,这个不太好改,如果怕出错,可以使用装饰器模式装饰原SessionFactory的方式再写一个SessionFactory,并将这个Bean设置为Primary即可。</p>
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。