据我了解,您的问题是您想要的结果
sqlSessionFactory()是
SqlSessionFactory(供其他方法使用),但是您必须
SqlSessionFactoryBean从
@Bean-annotated方法返回才能触发Spring回调。
可以通过以下解决方法解决:
@Configuration public class AppConfig { @Bean(name = "sqlSessionFactory") public SqlSessionFactoryBean sqlSessionFactoryBean() { ... } // FactoryBean is hidden behind this method public SqlSessionFactory sqlSessionFactory() { try { return sqlSessionFactoryBean().getObject(); } catch (Exception ex) { throw new RuntimeException(ex); } } @Bean public AnotherBean anotherBean() { return new AnotherBean(sqlSessionFactory()); }}关键是,对
@Bean-annotated方法的调用被执行返回的bean初始化的一个方面(
FactoryBean在您的情况下)拦截,因此对
sqlSessionFactoryBean()in的调用
sqlSessionFactory()返回完全初始化的
FactoryBean。



