搭建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>