Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "软件设计模式与体系结构课程设计 周 宇 College of Information Science and Technology"— Presentation transcript:

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

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

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

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

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

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

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

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

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

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

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

12 软件设计模式与体系结构课程设计 Tomcat9.0安装与配置 1.下载
官网: 创建信息系,最早系主任 中国的C J, Date 3 王老师介绍 4 数据库所介绍

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

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

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

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

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

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

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

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

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

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

23 软件设计模式与体系结构课程设计 三、配置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 数据库所介绍

24 软件设计模式与体系结构课程设计 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 数据库所介绍

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

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

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

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

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

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

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

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

33 软件设计模式与体系结构课程设计 那么,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 数据库所介绍

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

35 软件设计模式与体系结构课程设计 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 数据库所介绍

36 软件设计模式与体系结构课程设计 在更改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 数据库所介绍

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

38 软件设计模式与体系结构课程设计 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 数据库所介绍

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

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

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

42 软件设计模式与体系结构课程设计 文件名 作用 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 数据库所介绍

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

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


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

Similar presentations


Ads by Google