SSM——(一)

时间:2023-03-08 17:51:18
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(就是在写完<context:component-scan base-package="包名" />之后,如果包名写错启动也不报错,但只要扫描的包                                 内有个类哪怕空白都报错。)

报错原因:不详,希望高人指点。当前使用的是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

SSM——(一)

3、配置springMVC.xml

SSM——(一)

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

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

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

(二)接下来搭建spring:

1、web.xml

SSM——(一)

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

SSM——(一)

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

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

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

SSM——(一)

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

SSM——(一)

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

service层下的测试文件:SSM——(一)

controller层下的测试文件:SSM——(一)

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

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

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

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

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

      3、数据流向: