zoukankan      html  css  js  c++  java
  • [SSM项目]二-项目设计和框架搭建

    一 10个实体类

    • 选择Integer 而不是int的原因 :当值为空时,int类型会自动为其初始化,这是我们不希望的。

    二 配置Maven

    目录结构:

    src/main/java:业务代码
    src/main/resources:项目用到的资源文件,如Spring、Mybatis、日志的配置文件
    src/test/java:单元测试的java代码
    src/test/resources:单元测试的配置文件,一般不写什么
    src/test/resources/spring(手动添加):spring相关的配置信息
    src/main/resources/mapper(手动添加):DAO中每个方法对应的sql。

    Maven Dependencies:Maven管理项目涉及到的jar包,通常使用pom.xml来指定下载
    Apache Tomcat:tomcat依赖的jar包
    JRE System Library:java运行时所依赖的jar包

    • src/main/webapp(重要):存放前端静态资源,如JSP、js、CSS、html等
      • resources(手动添加):如上
      • WEB-INF: Web浏览器无法访问该文件夹里面的内容
        • web.xml:初始化配置信息

    target:存放项目构建后的文件和目录、jar包、编译后的文件等

    添加一些包

    • src/main/java/com/imooc/o2o目录下:
      • entity:实体类
      • web:controller层,存放controller控制器
      • service:业务逻辑层
        • impi:实现
      • dao:与数据相关的操作,如数据库操作、文件读写操作、redis缓存操作。ps:不需要impi,使用Mybatis,所以可以是在配置文件中src/main/resources/ mapper中实现dao接口逻辑。
      • dto:弥补entity的不足,通过在entity外面包一层dto。
      • enums:枚举类型
      • interceptor:拦截器(项目中和默认放的目录不一样)
      • util:通用工具类

    通过pom.xml下载项目所需要的jar包

    ?commons-colleciton未在poem.xml中配置下载

    三 逐层完成SSM的各项配置

    数据库连接的配置

    • src/main/resources下,
      • (new untitled file,)建``jdbc.properties```文件:数据库配置文件
      • mybatis-config.xml:mybatis配置文件

    Spring配置(由下层至上层配置)

    • src/main/resources/spring下

      • spring-dao.xml:配置dao层。首先,找出读取变量的文件位置,将jabc.properties和mybatis-config.xml加载了进来;第二,创建datasource数据库连接池;第三,配置创建用来创建数据库连接池的对象;第四,配置需要到哪一个包去扫描dao层,并且将第三步的对象传进来。三四:定义好了通过mybatis与数据库交互的方式。
      • spring-service.xml:配置service层。配置事务管理,将spring-dao配置好的datasource注入到事务管理器,便于service层做操作。
      • spring-web.xml:配置web层,定义dispatcher-service如何响应url请求,即controller的行为。
    • src/main/webapp下

      • web.xml :将Springdisptcher注册来响应前端请求,把spring的配置整合到一起。

    四 验证三层

    验证DAO

    • src/main/java/
      • com/imooc/o2o/
        • AreaDao.java

    mybatis不需要dao写实现类,直接在mybatis里自动实现,只需在mapper下配置:

    • src/main/resources/mapper/

      • AreaDao.xml
    • src/test/java/

      • 测试类AreaDaoTest.java
      • 测试基类baseTest.java

    runAsJunit 测试类即可。

    验证service

    • src/main/java/

      • com/imooc/o2o/
        • AreaService.java
        • impl/
          • AreaServiceImpl.java
    • src/test/java/

      • 测试基类添加修改
      • 测试类

    验证Controller

    • src/main/java/
      • com/imooc/o2o/
        • web/superadmin/
          • AreaController.java
    此上都是用eclipse环境,验证controller一直跑报500/404 ,改用idea跑ok

    打开项目,配置tomcat和路径:run-configuration
    配置:


    验证Contoller结果

    五 SSM重点知识

    • SpringMVC:DispatcherServlet
      DispatcherServlet主要用来拦截符合要求的请求,把请求分发到不同的控制器中去,根据控制器的处理结果,生成相应响应,发送到客户端。
    • Spring:IOC和AOP
      IOC:指由Spring来控制对象的生命周期和对象间的关系。通过DI和依赖注入实现的,主键之间的依赖关系由容器在运行期决定并动态注入。
      AOP:面向切面编程。实现方式是动态代理。
    • MyBatis:ORM
      ORM:通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。
  • 相关阅读:
    基于session做的权限控制
    spring有关jar包的作用
    Failed to apply plugin [id 'com.android.application'] 和 Could not find com.android.tools.build:gradle:2.XX的最正确的解决方法
    Android Handler机制(四)---Handler源码解析
    System.currentTimeMillis()与SystemClock.uptimeMillis()
    【转】博客美化(6)为你的博文自动添加目录
    Android Handler机制(三)----Looper源码解析
    Android Handler机制(二)---MessageQueue源码解析
    Android Handler机制(一)---Message源码分析
    关于Android Force Close 出现的原因 以及解决方法
  • 原文地址:https://www.cnblogs.com/coding-gaga/p/10839415.html
Copyright © 2011-2022 走看看