ssm启动不报错_SSM——(一)

入职第一天,项目经理要求利用SSM+MySQL做一个表单的CRUD;之前没用过mybatis,恶补了一下:http://www.jb51.net/article/70923.htm。

spring三层架构:  ①、DAO(IxxxDAO:接口(spring代理方式产生事务,有接口产生具体代理类)、xxxDAO实现类) ;

②、entity;

③、service(IxxxManger:接口、实现类);

④、controller

(一)先搭建springMVC:

2016/07/30补充:项目搭建的前几天一直出现一个错误:org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate                      component class(就是在写完之后,如果包名写错启动也不报错,但只要扫描的包                                 内有个类哪怕空白都报错。)

报错原因:不详,希望高人指点。当前使用的是spring3.2.0的包+tomcat7+jre1.8+eclipse;(此环境下导入能在jdk6+tomcat6运行的springMVC的demo                                    报错:java.lang.IllegalArgumentException),项目的配置、操作流程确定无误,因为换spring4.1.6后成功了。有人说换回jdk6+tomcat6可成功,但没试,目前无法确定。

1、导入spring-framework-4.1.6.RELEASE文件下libs目录的所有jar

2、配置web.xml

3、配置springMVC.xml

4、启动,测试搭建是否成功

错误一:java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component

解决方案:加入commons-logging.jar

(二)接下来搭建spring:

1、web.xml

2、spring.xml

spring可以拿到springMVC的注释

3、启动,测试搭建是否成功

(三)最后加入mybatis

1、导入jar包:mybatis-3.1.1.jar、mysql-connector-java-5.1.38-bin.jar

2、配置spring.xml

①注入数据源(测试无异常)

②注入sqlSessionFactory

出现错误:org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class

解决方案:导入mybatis-spring-1.2.1.jar

3、创建entity,如User.java(对应数据库表),映射文件userMapper.xml

4、创建DAO,如IUserDAO.java、UserDAOImp.java(原生DAO注入,还有一种是mapper注入——日后了解)

5、启动服务器,无异常,测试成功

service层下的测试文件:

controller层下的测试文件:

菜鸟总结:1、package的命名:com或org + 公司名 + 项目名 + ...

2、任何一个项目的开始都要先搭建好环境,再写代码

3、之前每做一步都习惯性用JUnit进行测试,出现问题可以及时解决。jar包也是,需要哪个导哪个。确认连接无误后却一直取不到sqlsession的值,才晓得JUnit作为单元测试的工具,不用在web层中达不到效果。测试web层的工具:spring-test(日后了解)

知识点巩固:1、spring和springMVC的配置文件有一个扫描注入即可(一起写报错,最好写在springMVC);

2、spring和mybatis整合后不再需要些mybatis的配置文件

3、数据流向:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值