Spring+Struts2+Mybatis框架搭建时的常见典型问题
2014-09-11 16:40
525 查看
搭建SSM框架时,总是遇到这样那样的问题,有的一眼就能看出来,有的需要经验的积累。现将自己搭建SSM框架时遇到的典型问题总结如下:
一、Struts2框架下的action中无法使用@Autowired自动注入Bean(运行时bean总是为null)
常见原因:
A、Spring的配置文件中组件扫描路径错误(即<context:component-scan base-package="xx.xx" />配置错误)。
B、@Autowired声明的beanName错误,bean的名称一定要在容器中注册过。
C、缺少struts2-spring-plugin-X.jar(X为版本号)。
二、Cannot load JDBC driver class 'org.sqlite.JDBC')
常见原因:
缺少sqlite的驱动(注意需要使用sqlite-jdbc-3.6.14.1.jar而非sqlite3.jar)。
三、Mybatis接口参数无法传到SQL中,SQL执行时参数始终为null
常见原因:
接口如何传入是单一的参数,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}
四、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>
一、Struts2框架下的action中无法使用@Autowired自动注入Bean(运行时bean总是为null)
常见原因:
A、Spring的配置文件中组件扫描路径错误(即<context:component-scan base-package="xx.xx" />配置错误)。
B、@Autowired声明的beanName错误,bean的名称一定要在容器中注册过。
C、缺少struts2-spring-plugin-X.jar(X为版本号)。
二、Cannot load JDBC driver class 'org.sqlite.JDBC')
常见原因:
缺少sqlite的驱动(注意需要使用sqlite-jdbc-3.6.14.1.jar而非sqlite3.jar)。
三、Mybatis接口参数无法传到SQL中,SQL执行时参数始终为null
常见原因:
接口如何传入是单一的参数,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}
四、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>
相关文章推荐
- Spring+Struts2+Mybatis框架搭建时的常见典型问题
- spring 3.1.2+struts 2.3.2 + mybatis 3.1.1框架搭建(一)
- Spring+Spring MVC+MyBatis 框架搭建 遇到问题及解决方法
- spring 3.1.2+struts 2.3.2 + mybatis 3.1.1框架搭建(三)
- 搭建Spring+Struts+Mybatis框架
- 1.Maven 搭建Struts、spring、mybatis框架-安装Maven环境
- struts2+spring+mybatis框架搭建
- SSM框架的基本搭建(Spring+Struts+Mybatis)
- 记录-项目java项目框架搭建的一些问题(maven+spring+springmvc+mybatis)
- spring 3.1.2+struts 2.3.2 + mybatis 3.1.1框架搭建(二)
- 自己动手搭建 SSM框架——(Spring+SpringMVC+MyBatis)问题总结
- S2SH框架搭建常见的问题
- Spring2.5、Struts2.1、Hibernate3.2、sitemesh、freemarker整合开发常见问题及解决方案
- java SSH2 框架搭建 (myeclipse 6.5 + jdk 1.6+ struts-2.3.1.2+hibernate 3.5+spring 3.1)
- struts+spring+mybatis框架整合
- java开源框架集成常见错误之spring2.5中没有org.springframework.web.struts.DelegatingActionProxy ,使得Action不能注入到spring中
- struts2 框架搭建(基本)和几个报错问题
- Struts + Spring + Hibernate基础框架搭建
- Struts Spring Hibernate 框架整合时候出现的问题
- hibernate 4.1.2 + struts 2.3.1.2 + spring 3.1.1 详细介绍手动搭建框架的视频或文档架包的作用