软件设计模式与体系结构课程设计 周 宇 College of Information Science and Technology

Slides:



Advertisements
Similar presentations
第 9 章 测试部署  9.1 测试  9.2 部署. 9.1 测试  应用测试:使用 JUnit 单元测试框架 测试的目的是检验开发结果是否满足规定需求,测试是保证软件质量的一个重要手段, 在软件开发过程中是不可缺少的组成部分。 单元测试与集成测试分别有各自的定义:在实际开发中,两者之间的界定是模糊的。
Advertisements

面向侧面的程序设计 方林博士 本文下载地址:
Chapter 3: SQL.
MVC Servlet与MVC设计模式.
全国计算机等级考试 二级基础知识 第二章 程序设计基础.
在PHP和MYSQL中实现完美的中文显示
J2EE与中间件技术 ——Lab.
Android快速开发入门 巫文杰、Android工程师 讲师的CSDN博客地址
JAVA开发Web Service快速入门
软件设计模式与体系结构课程设计 周 宇 College of Information Science and Technology
数据库操作示例 import java.sql.*; //导入java.sql包 public class JDBCDemo {
Android开发入门 -----Android 开发“Ready go!” 主讲:李晓蕾
SVN的基本概念 柳峰
AngularJS -- 使用AngularJS进行开发
第二讲 搭建Java Web开发环境 主讲人:孙娜
Maven [培训人员注意事项: 有关自定义此模板的详细帮助,请查看最后一张幻灯片。另外,可以在一些幻灯片的备注窗格中查找其他课程文本。
第八章 菜单设计 §8.1 Visual FoxPro 系统菜单 §8.2 为自己的程序添加菜单 §8.3 创建快捷菜单.
大学计算机基础 典型案例之一 构建FPT服务器.
SVN服务器的搭建(Windows) 柳峰
走进编程 程序的顺序结构(二).
SpringMVC+spring +Mybatis+Maven框架搭建
第11章:一些著名开源软件介绍 第12章:服务安装和配置 本章教学目标: 了解当前一些应用最广泛的开源软件项目 搭建一个网站服务器
大数据管理技术 --NoSQL数据库 HBase 陈 辉 大数据分析技术.
Visual Studio Team System 简介
DM81X 视频采集处理 ——简单采集显示例程讲解 广州创龙电子科技有限公司
SPI驱动 广州创龙电子科技有限公司 Guangzhou Tronlong Electronic Technology Co., Ltd.
PostgreSQL 8.3 安装要点 四川大学计算机学院 段 磊
Windows网络操作系统管理 ——Windows Server 2008 R2.
以ISI平台为例,为您演示一下如何在Endnote文献中查看该文献的References
2019/1/12 GDP设计协同 超级管理员操作手册 GDP项目组.
单元测试工具XUnit 任课老师:黄武 下午2时20分 25.
PaPaPa项目架构 By:Listen 我在这.
Windows 7 的系统设置.
YMSM D-PACK 安装手册 作成者:D-PACK维护组(YMSLx) 作成日:
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
DevDays ’99 The aim of this mission is knowledge..
第11章 系统结构与包模型模型.
任务1-3 使用Dreamweaver创建ASP网页
产品防伪防窜管理系统 工具下载安装指引 信息管理部.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
Sym社区系统商业版 背景、功能以及技术架构简介.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
三:基于Eclipse的集成开发环境搭建与使用
程序设计工具实习 Software Program Tool
SOA – Experiment 2: Query Classification Web Service
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
Web安全基础教程
第四章 团队音乐会序幕: 团队协作平台的快速创建
第十二章 学习使用Ant Apache Ant是一个基于Java的构建工具,它可以 会构建多种项目,但是目前主要被用于Java项目 的构建, Ant是用Java语言编写,可以在多个操 作系统中运行,目前在绝大部分的Java开源项目 中,都选择使用Ant作为构建项目的工具,Ant已 经成为Java开源项目构建的事实标准,而且越来.
姚金宇 MIT SCHEME 使用说明 姚金宇
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
3Glasses SDK for Unreal Engine Plugin
Web安全基础教程
JSP实用教程 清华大学出版社 第2章 JSP运行环境和开发环境 教学目标 教学重点 教学过程 2019年5月7日.
iSIGHT 基本培训 使用 Excel的栅栏问题
Chapter 18 使用GRASP的对象设计示例.
Touch Github = Touch the World
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
Python 环境搭建 基于Anaconda和VSCode.
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
WEB程序设计技术 数据库操作.
本节内容 进程 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第四章 UNIX文件系统.
使用ADO访问数据库 李宝智 BonizLee 课程 10564A
创建、启动和关闭Activity 本讲大纲: 1、创建Activity 2、配置Activity 3、启动和关闭Activity
Usage Eclipse 敏捷方法工具介紹 實驗室網站:
----以《西北民族音乐学术资源数据库》为例 西安音乐学院 景 月 亲
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
JUDDI安装手册.
百万行、千万行数据查询教程 老黄牛.
Presentation transcript:

软件设计模式与体系结构课程设计 周 宇 College of Information Science and Technology 周 宇 College of Information Science and Technology Nanjing University of Aeronautics and Astronautics

软件设计模式与体系结构课程设计 内容要求:理解框架的概念,理解配置在企业级开发中的重 要性,了解Spring框架的基本结构,特点,并以 Spring框架为基础,构件一个简单的web应用系统, 包含基本的用户管理,界面展示功能,体现MVC 架构,领会多种设计模式的复合使用,重点是观 察者模式在MVC中的使用。 创建信息系,最早系主任 中国的C J, Date 3 王老师介绍 4 数据库所介绍 格式要求:文档+源代码,文档需要包含如下基本元素: spring框架架构,mvc的特点,以及一个简单的 实例应用开发介绍,结合该实例谈谈你对mvc及 其相关设计模式使用的认识。

软件设计模式与体系结构课程设计 所需技术:Java (servlet/jsp),web程序设计 所需工具:jdk, spring framework, tomcat, eclipse/idea , mysql 提交形式:设计报告(电子文档+纸质文档) 提交日期:2019-6-9之前 创建信息系,最早系主任 中国的C J, Date 3 王老师介绍 4 数据库所介绍

软件设计模式与体系结构课程设计 示例: 图书管理系统的设计与实现(角色:借阅人,图书管理员。实现成员信息的管理与授权相应功能,实现借阅人,图书管理员的功能[借阅人借书,查书,还书功能;图书管理员管理图书功能以及借阅人逾期还书收费功能等]) 学生选课系统的设计与实现(角色:学生,教务秘书等。实现成员信息的管理与授权相应功能,实现学生、教务秘书的功能[学生选课,查看个人课表等;教务秘书增、删、改、查课程等]) 各班同学交各自班长处,由各班班长发送至邮箱1227257035@qq.com 创建信息系,最早系主任 中国的C J, Date 3 王老师介绍 4 数据库所介绍

软件设计模式与体系结构课程设计  框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象模块及模块实例间交互的方法;或者可以认为,框架是可被应用开发者定制的应用骨架。   可以说,一个框架是一个可复用的设计模块,它规定了应用的体系结构,阐明了整个设计、协作模块之间的依赖关系、责任分配和控制流程,表现为一组抽象类以及其实例之间协作的方法,它为模块复用提供了上下文(Context)关系。因此模块库的大规模重用也需要框架。 创建信息系,最早系主任 中国的C J, Date 3 王老师介绍 4 数据库所介绍

软件设计模式与体系结构课程设计 编程有一个准则Don't Repeat Yourself(不要重复你的代码)。如果有一些代码出现重复,我们就应该把这些代码提取出来封装成一个方法。随着时间的积累有了一批方法,我们把它整合成工具类。工具类如果形成规模,可以把工具类整合成类库。就像我们不仅不要自己重复造项目中已有的轮子,也不要造别人已经造好的轮子。我们只需要直接使用已有的轮子就行。 框架也是一样,框架,是为了我们不必总是写相同的代码,并且可以让我们专注于业务逻辑实现的一个工具。框架会把我们程序设计中不变的部分抽取出来,让我们专注于与业务有关的代码。

软件设计模式与体系结构课程设计 框架和类库的区别 框架和类库的主要区别是一是控制反转(Inversion of Control),一般程序的运作是由程序员全盘掌握的。程序资源的初始化、销毁、定位查找,执行逻辑都是我们写代码实现的。这些顺着程序主入口开始查找都可以找得到。但是应用框架后的控制权已经交给了框架。比如配置框架参数时已经控制权移交给框架的控制器。 二是框架会告诉你还缺什么,你只需要把这些代码写完,程序就可以正常运行了。类库实现的代码你无需再写,但是类库没告诉你,程序员需要写哪些代码,需要程序员自己心理有数。 创建信息系,最早系主任 中国的C J, Date 3 王老师介绍 4 数据库所介绍

软件设计模式与体系结构课程设计 MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式 Model(模型)表示应用程序核心 View(视图)显示数据 Controller(控制器)处理输入 创建信息系,最早系主任 中国的C J, Date 3 王老师介绍 4 数据库所介绍

软件设计模式与体系结构课程设计 MVC的好处是什么 除了将视图从业务逻辑中分离开外,MVC的分离也降低了大型应用设计的难度。代码也更具结构性,因此也更容易维护,测试和重用。这种模式会帮助我们清晰的区分程序各部分的职责,便于程序维护,代码重用以及测试。MVC框架给我们提供了一个基本的MVC骨架,以及许多有用的功能,提高了我们的效率,让开发过程更加轻松。 创建信息系,最早系主任 中国的C J, Date 3 王老师介绍 4 数据库所介绍

软件设计模式与体系结构课程设计 创建信息系,最早系主任 中国的C J, Date 3 王老师介绍 4 数据库所介绍

软件设计模式与体系结构课程设计 创建信息系,最早系主任 中国的C J, Date 3 王老师介绍 4 数据库所介绍

软件设计模式与体系结构课程设计 Tomcat9.0安装与配置 1.下载 官网:https://tomcat.apache.org/,在浏览器地址栏输入地址,进入下图页面 创建信息系,最早系主任 中国的C J, Date 3 王老师介绍 4 数据库所介绍

软件设计模式与体系结构课程设计 2、根据自己电脑的位数,有选择的进行下载,下载后解压到相应磁盘中 创建信息系,最早系主任 中国的C J, Date 3 王老师介绍 4 数据库所介绍

软件设计模式与体系结构课程设计 2.配置环境变量 右键此电脑->属性->高级系统设置->高级->环境变量中,新建环境变量,变量名(CATALINA_HOME) 变量值:(D:\apache-tomcat-9.0.4)解压路径名 创建信息系,最早系主任 中国的C J, Date 3 王老师介绍 4 数据库所介绍

软件设计模式与体系结构课程设计 3、启动Tomcat: 进入Tomcat下的bin目录,双击startup.bat 创建信息系,最早系主任 中国的C J, Date 3 王老师介绍 4 数据库所介绍

软件设计模式与体系结构课程设计 4、上图界面代表启动成功,成功后不要关闭,否则就关掉了Tomcat。 测试Tomcat是否启动成功: 在地址栏输入http://localhost:8080/ 若出现下图界面,则启动成功 创建信息系,最早系主任 中国的C J, Date 3 王老师介绍 4 数据库所介绍

软件设计模式与体系结构课程设计 Maven安装与配置 一、需要准备的东西 1. JDK 2. Eclipse 3. Maven程序包 创建信息系,最早系主任 中国的C J, Date 3 王老师介绍 4 数据库所介绍

软件设计模式与体系结构课程设计 Maven安装与配置 二、下载与安装 1. 前往https://maven.apache.org/download.cgi下载最新版的Maven程序: 创建信息系,最早系主任 中国的C J, Date 3 王老师介绍 4 数据库所介绍

软件设计模式与体系结构课程设计 2. 将文件解压到D:\apache-maven-3.5.3目录下: 创建信息系,最早系主任 中国的C J, Date 3 王老师介绍 4 数据库所介绍

软件设计模式与体系结构课程设计 3. 在此电脑->属性->高级系统设置->高级->环境变量中,新建环境变量MAVEN_HOME,赋值D:\apache-maven-3.5.3 创建信息系,最早系主任 中国的C J, Date 3 王老师介绍 4 数据库所介绍

软件设计模式与体系结构课程设计 4. 编辑环境变量Path,追加%MAVEN_HOME%\bin\; 创建信息系,最早系主任 中国的C J, Date 3 王老师介绍 4 数据库所介绍

软件设计模式与体系结构课程设计 5. 至此,maven已经完成了安装,我们可以通过DOS命令检查一下我们是否安装成功,输入mvn-v出现如下显示: 创建信息系,最早系主任 中国的C J, Date 3 王老师介绍 4 数据库所介绍

软件设计模式与体系结构课程设计 三、配置Maven本地仓库 1. 在D:\apache-maven-3.5.3\maven-repository目录下新建maven-repository文件夹,该目录用作maven的本地库。 2. 打开D:\apache-maven-3.5.3\confsettings.xml文件,查找下面这行代码: 创建信息系,最早系主任 中国的C J, Date 3 王老师介绍 4 数据库所介绍

软件设计模式与体系结构课程设计 localRepository节点默认是被注释掉的,需要把它移到注释之外,然后将localRepository节点的值改为我们在3.1中创建的目录D:\Program Files\Apache\maven-repository。 3. localRepository节点用于配置本地仓库,本地仓库其实起到了一个缓存的作用,它的默认地址是 C:\Users\用户名.m2。 当我们从maven中获取jar包的时候,maven首先会在本地仓库中查找,如果本地仓库有则返回;如果没有则从远程仓库中获取包,并在本地库中保存。 此外,我们在maven项目中运行mvn install,项目将会自动打包并安装到本地仓库中。 创建信息系,最早系主任 中国的C J, Date 3 王老师介绍 4 数据库所介绍

软件设计模式与体系结构课程设计 4. 运行一下DOS命令 :mvn help:system 如果前面的配置成功,那么D:\apache-maven-3.5.3\maven-repository会出现一些文件。 创建信息系,最早系主任 中国的C J, Date 3 王老师介绍 4 数据库所介绍

软件设计模式与体系结构课程设计 四、配置Eclipse的Maven环境 1. Eclipse Oxygen,打开Window->Preferences->Maven->Installations,右侧点击Add。 创建信息系,最早系主任 中国的C J, Date 3 王老师介绍 4 数据库所介绍

软件设计模式与体系结构课程设计 2. 设置maven的安装目录,然后Finish 创建信息系,最早系主任 中国的C J, Date 3 王老师介绍 4 数据库所介绍

软件设计模式与体系结构课程设计 3. 选中刚刚添加的maven,并Apply。 创建信息系,最早系主任 中国的C J, Date 3 王老师介绍 4 数据库所介绍

软件设计模式与体系结构课程设计 4. 打开Window->Preferences->Maven->User Settings,配置如下并Apply: 创建信息系,最早系主任 中国的C J, Date 3 王老师介绍 4 数据库所介绍

软件设计模式与体系结构课程设计 五、创建一个maven项目 1、打开file->new ->project,找到maven,新建一个Maven Project 创建信息系,最早系主任 中国的C J, Date 3 王老师介绍 4 数据库所介绍

软件设计模式与体系结构课程设计 2、在New Maven Project向导中,选择Create a simple project并指定项目保存的目录,然后单击Next。如下图所示 - 创建信息系,最早系主任 中国的C J, Date 3 王老师介绍 4 数据库所介绍

软件设计模式与体系结构课程设计 3、在下一个向导中,添加项目信息,如下所示,然后单击Finish。 创建信息系,最早系主任 中国的C J, Date 3 王老师介绍 4 数据库所介绍

软件设计模式与体系结构课程设计 那么,maven中的groupId和artifactId到底指的是什么? groupid和artifactId被统称为“坐标”是为了保证项目唯一性而提出的,如果你要把你项目弄到maven本地仓库去,你想要找到你的项目就必须根据这两个id去查找。   groupId一般分为多个段,这里我只说两段,第一段为域,第二段为公司名称。域又分为org、com、cn等等许多,其中org为非营利组织,com为商业组织。举个apache公司的tomcat项目例子:这个项目的groupId是org.apache,它的域是org(因为tomcat是非营利项目),公司名称是apache,artigactId是tomcat。   比如我创建一个项目,我一般会将groupId设置为cn.Fan,cn表示域为中国,Fan是我个人姓名缩写,artifactId设置为webProject,表示你这个项目的名称是testProj,依照这个设置,你的包结构最好是cn.XX.webProject打头的,如果有个StudentDao,它的全路径就是cn.Fan.webProject.dao.StudentDao 创建信息系,最早系主任 中国的C J, Date 3 王老师介绍 4 数据库所介绍

软件设计模式与体系结构课程设计 4、这样,一个简单的maven项目就已经构建好了 创建信息系,最早系主任 中国的C J, Date 3 王老师介绍 4 数据库所介绍

软件设计模式与体系结构课程设计 4、打开pom.xml文件并在其中添加servlet依赖项和Tomcat maven插件,如下代码所示,pom.xml <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <failOnMissingWebXml>false</failOnMissingWebXml> </properties> <dependencies> <!-- Servlet API --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency> </dependencies> 创建信息系,最早系主任 中国的C J, Date 3 王老师介绍 4 数据库所介绍

软件设计模式与体系结构课程设计 在更改pom.xml文件之后,更新maven web项目。 <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <path>/</path> </configuration> </plugin> 在更改pom.xml文件之后,更新maven web项目。 要更新web maven项目,请右键单击项目名称(如:webproject)-> Maven -> Update Project... 来更新项目。 创建信息系,最早系主任 中国的C J, Date 3 王老师介绍 4 数据库所介绍

软件设计模式与体系结构课程设计 5、查看maven web项目结构,如下图所示,可以看到,多了几个文件夹 创建信息系,最早系主任 中国的C J, Date 3 王老师介绍 4 数据库所介绍

软件设计模式与体系结构课程设计 6、现在,创建一个包:com.test.servlet,并在此包下创建一个HelloWorldServlet类,并在其中写入以下代码。 public class HelloWorldServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/plain"); resp.getWriter().write("Hello World! Maven Web Project Example."); } 创建信息系,最早系主任 中国的C J, Date 3 王老师介绍 4 数据库所介绍

软件设计模式与体系结构课程设计 7、右键-run->Maven build,并输入tomcat:run运行嵌入式tomcat服务器 创建信息系,最早系主任 中国的C J, Date 3 王老师介绍 4 数据库所介绍

软件设计模式与体系结构课程设计 8、现在运行配置启动tomcat服务器。 控制台输出如下图所示 创建信息系,最早系主任 中国的C J, Date 3 王老师介绍 4 数据库所介绍

软件设计模式与体系结构课程设计 9、打开浏览器并在地址栏中输入URL: http://localhost:8080/hello ,得到以下结果: 创建信息系,最早系主任 中国的C J, Date 3 王老师介绍 4 数据库所介绍

软件设计模式与体系结构课程设计 文件名 作用 src 根目录,下面有main和test,maven项目标准格式。 main 主要目录,可以放java代码和一些资源文件。 java 存放我们的java代码,这个文件夹要使用Build Path -> Use as Source Folder,这样看包结构会方便很多,新建的包就相当于在这里新建文件夹。 resources 存放资源文件,譬如各种的spring,mybatis,log配置文件。 mapper 存放dao中每个方法对应的sql,在这里配置,无需写daoImpl。 spring 这里当然是存放spring相关的配置文件,有dao service web三层。 webapp 用来存放我们前端的静态资源,如jsp js css WEB-INF 很重要的一个目录,外部浏览器无法访问,只有内部才能访问,可以把jsp放在这里,另外就是web.xml了 test 这里是测试分支。 创建信息系,最早系主任 中国的C J, Date 3 王老师介绍 4 数据库所介绍

软件设计模式与体系结构课程设计 再先新建好几个必要的包, 下面为大家讲解一下每个包的作用, 包名 名称 作用 dao 数据访问层(接口) 与数据打交道,可以是数据库操作,也可以是文件读写操作,。为什么没有daoImpl,因为我们用的是mybatis,所以可以直接在配置文件中实现接口的每个方法。 entity 实体类 一般与数据库的表相对应,封装dao层取出来的数据成为一个对象,一般只在dao层与service层之间传输。 dto 数据传输层 用于service层与web层之间传输 service 业务逻辑(接口) 写我们的业务逻辑,也有人叫bll。 serviceImpl 业务逻辑(实现) 实现我们业务接口,一般事务控制是写在这里 web 控制器 springmvc就是在这里发挥作用的,一般人叫做controller控制器 创建信息系,最早系主任 中国的C J, Date 3 王老师介绍 4 数据库所介绍

软件设计模式与体系结构课程设计 谢谢聆听! 创建信息系,最早系主任 中国的C J, Date 3 王老师介绍 4 数据库所介绍