一 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:通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。

[SSM项目]二-项目设计和框架搭建的更多相关文章

  1. javaWeb项目(SSH框架+AJAX+百度地图API+Oracle数据库+MyEclipse+Tomcat)之二 基础Hibernate框架搭建篇

    我们在搭建完Struts框架之后,从前台想后端传送数据就显得非常简单了.Struts的功能不仅仅是一个拦截器,这只是它的核心功能,此外我们也可以自定义拦截器,和通过注解的方式来更加的简化代码. 接下来 ...

  2. 校园商铺-2项目设计和框架搭建-6逐层完成SSM的各项配置

    1. 创建/src/main/resources/jdbc.properties文件 jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://l ...

  3. maven集成SSM项目,jetty部署运行——搭建maven项目部署jetty试运行(一)

    今天闲来没事采用maven集成一个SSM框架来复习复习,下面开始我的复习之旅,慢慢来,不着急,哈哈,不忙时候敲两下,整起来. 工具为Eclipse,首先需要建立一个maven工程,file右键new- ...

  4. Vue项目二、vue环境搭建以及Vue-cli使用及详解

    一.Vue多页面应用的环境搭建 每一次页面跳转的时候,后台服务器都会给返回一个新的html文档,这种类型的网站也就是多页网站,也叫做多页应用. 环境的搭建如下,在页面中引入如下框架 <scrip ...

  5. Web API系列之二WebApi基础框架搭建

    本文主要介绍如何搭建一个WebApi的项目.关于如何搭建WebApi的方式一共有两种: 一.通过vs直接新建一个WebApi的项目,步骤如下: 第一步: 新建一个空的Web应用程序,可以理解为作为We ...

  6. 校园商铺-2项目设计和框架搭建-5配置maven

    /src/main/java 存放业务的Java代码 /src/main/resources 存储项目所用到的资源文件,如各种Spring,batis,日志的配置文件 /src/test/java 单 ...

  7. 如何在SSM项目配置springMVC校验框架validator

    1.在springMVC配置文件配置添加如下信息 <!-- 表单验证框架 --> <bean id="validator" class="org.spr ...

  8. 微信公众账号开发教程(二) 基础框架搭建——转自http://www.cnblogs.com/yank/p/3392394.html

    上一章,我们已经初步讲解了微信公众账号开发的基本原理,今天我们来探索设计实现. 首先我们设计了模块层次图,当然图中只是给出一种实现方式,不局限于此.具体见下图. 主要功能介绍如下: 1)请求接口层.处 ...

  9. 预约系统(二) MVC框架搭建

    采用VS2013,自带的MVC4来搭建 MODEL层,表对象的建立: T_Bm.cs using System; using System.Collections.Generic; using Sys ...

随机推荐

  1. 设计模式:建造者模式及在jdk中的体现,建造者模式和工厂模式区别

    0.背景 建造模式(Builder模式) 假如有一个需求:盖房子,盖房子过程是一致的:打桩.砌墙.封顶.但是房子是各式各样的,最后盖出来的房子可能是高楼或别墅. 根据直接的思路,不用设计模式思想,我们 ...

  2. eric4 中pyqt 字符串 输入 获取

    在eric4中使用pyqt需要注意: 输入 中文 时,前面加 u ,例如: from PyQt4.QtGui import * from PyQt4.QtCore import * QMessageB ...

  3. Excel 提取年月日①

    问题场景 从任务数据表中比较所有任务的预计完成时间和实际完成时间,来判断该任务是逾期还是按期完成了,根据实际场景是不需要考虑时分秒,只需对比该任务预计完成和实际完成的年月日. 可通过提取年月日用函数进 ...

  4. centos7 重装ssh服务

    重装之前先要卸载之前安装的无法 通过rpm命令查看openssh的安装情况 rpm -qa openssh* 通过yum remove命令卸载 yum remove openssh* 重装: yum ...

  5. Vue管理系统前端系列二相关工具引入及封装

    目录 sass-loader/vuex 等的引入说明 引入 element 引入 axios 1.基本使用 2.封装使用 2.1 开发环境配置请求地址 2.2 配置代理 2.3 添加接口相关文件 sa ...

  6. 浅谈AutoML

    Auto ML的概念很广很深,本篇文章旨在概念上的一些理解.   我们之前谈过一个模型从幕后走向台前是有很多的工作要做的,AutoML的最初目标正如其名字是想自动化这个过程.实际上有很多人讨论到Aut ...

  7. Magento1.9 add attribute to catalog product & assign to all attribute set general group

    $installer = $this; $attributes = array( 'region' => array( 'type' => 'int', 'input' => 'se ...

  8. 【Spring】Spring如何实现多数据源读写分离?这是我看过最详细的一篇!!

    写在前面 很多小伙伴私聊我说:最近他们公司的业务涉及到多个数据源的问题,问我Spring如何实现多数据源的问题.回答这个问题之前,首先需要弄懂什么是多数据源:多数据源就是在同一个项目中,会连接两个甚至 ...

  9. ansible实现批量建立互信

    Ansible:自动化运维工具 为什么要建立互信:ansible批量配置管理的前提是管理机和被管理机ssh互信,即通过将管理主机的公钥(id_rsa.pub)添加到目标主机上,实现管理机不通过交互式输 ...

  10. Codeforces Round #665 (Div. 2)A-C题解

    A. Distance and Axis 题目:http://codeforces.com/contest/1401/problem/A 题解:对于n来说分两种情况,一是奇数,二则是偶数 ①奇数:对于 ...