搭建SSM框架時,老是遇到這樣那樣的問題,有的一眼就能看出來,有的須要經驗的積累。現將本身搭建SSM框架時遇到的典型問題總結以下:spring
1、Struts2框架下的action中沒法使用@Autowired自動注入Bean(運行時bean老是爲null)sql
常見緣由:框架
A、Spring的配置文件中組件掃描路徑錯誤(即<context:component-scan base-package="xx.xx" />配置錯誤)。url
B、@Autowired聲明的beanName錯誤,bean的名稱必定要在容器中註冊過。spa
C、缺乏struts2-spring-plugin-X.jar(X爲版本號)。component
2、Cannot load JDBC driver class 'org.sqlite.JDBC')sqlite
常見緣由:接口
缺乏sqlite的驅動(注意須要使用sqlite-jdbc-3.6.14.1.jar而非sqlite3.jar)。 get
3、Mybatis接口參數沒法傳到SQL中,SQL執行時參數始終爲nullit
常見緣由:
接口如何傳入是單一的參數,SQL中直接使用參數名稱便可,或者使用#{0};若是是多個參數,須要使用@Param聲明變量名
傳入單個參數時示例以下:
接口:public String getUserNameById(String userId);
映射SQL:SELECT USER_NAME FROM USER WHERE USER_ID = #{userId}
傳入多個參數時示例以下:
接口:public String getUserNameByIdAndPwd(@Param("userId")String userId, @Param("userPwd")String userPwd);
映射SQL:SELECT USER_NAME FROM USER WHERE USER_ID = #{userId} AND USER_PWD = #{userPwd}
4、Spring文件中配置sqlite鏈接問題
DataSource配置以下:
<property name="driverClassName" value="org.sqlite.JDBC"></property>
<property name="url" value="jdbc:sqlite::resource:SM.db"></property>
其中:resource:是關鍵字,添加此關鍵字後,sqlite的DB放在項目跟目錄下便可。固然,也可使用絕對路徑:
<property name="url" value="jdbc:sqlite:E:\workspace\StockManagement\db\SM.db"></property>