解決Caused by: java.lang.IllegalArgumentException: Property sqlSessionFactory or sqlSessionTemplate ar
阿新 • • 發佈:2019-01-14
啟動tomcat之後日誌裡面報:Caused by: java.lang.IllegalArgumentException: Property sqlSessionFactory or sqlSessionTemplate are required,
網上看了一些文章,基本上是少了:
但是在我這程式碼裡面已經有這個內容:@Resource public void setSqlSessionFactory(SqlSessionFactory sqlSessionFactory) { super.setSqlSessionFactory(sqlSessionFactory); }
還是報這個錯,這兩個唯一的不同時這裡有@Qualifier的註解(當你建立多個具有相同型別的 bean 時,並且想要用一個屬性只為它們其中的一個進行裝配,在這種情況下,你可以使用 @Qualifier 註釋和 @Autowired 註釋通過指定哪一個真正的 bean 將會被裝配來消除混亂),這裡有比較詳細的解釋: spring教程public class MockDBDaoImpl extends DaoSupport{ private SqlSession sqlSession; private boolean externalSqlSession; @Autowired(required = false) public final void setMySqlSessionFactory(@Qualifier("sqlSessionFactoryMock") SqlSessionFactory sqlSessionFactory){ if(!this.externalSqlSession){ this.sqlSession = new SqlSessionTemplate(sqlSessionFactory); } }
在這個註解後面有sqlSessionFactoryMock,在datasource.xml檔案中檢視裡面沒有這個相關的內容,修改sqlSessionFactoryMock為sqlSessionFactory,並且在datasource.xml檔案中增加相應的bean重新啟動tomcat,報錯消除;