版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章SpringBoot入门本章内容:1.SpringBoot概述2.SpringBoot应用的开发环境3.构建SpringBoot应用4.SpringBoot应用程序单元测试5.SpringBoot打包和部署engineeringSoftware1.1SpringBoot概述
和传统的SpringMVC框架相比,通过使用基于SpringBoot的开发模式,我们可以简化搭建框架时配置文件的数量,从而提升系统的可维护性。而且在SpringBoot框架里,我们还能更方便地引入诸如安全和负载均衡方面的组件。可以这么说,SpringBoot框架是微服务的基础,在这个框架里,我们可以引入SpringCloud的诸多组件,从而搭建基于微服务的系统。engineeringSoftware在Java项目开发中,MVC已经成为了一种深入人心的设计模式,几乎所有正规的项目中都会使用MVC设计模式。采用MVC设计模式可以有效地实现显示层、控制层、业务层、数据层的结构分离,如图1-1所示。1.1.1SpringBoot和MVC架构对比
engineeringSoftware虽然MVC开发具有良好的可扩展性,但是在实际的开发过程中,许多开发者依然会感受到如下的问题。(1)采用原生Java程序实现MVC设计模式时,一旦整体项目设计不到位,就会存在大量的重复代码,并且项目维护困难。(2)为了简化MVC各个层的开发,可以引用大量的第三方开发框架,如Spring、Hibernate、MyBatis、JPA、SpringSecurity等,但这些框都需要在Spring中实现整合,其结果就是会存在大量的配置文件。1.1.1SpringBoot和MVC架构对比
engineeringSoftware(3)当使用一些第三方的服务组件(如RabbitMQ、JavaMail等)时,需要编写大量重复的配置文件,而且还需要根据环境定义不同的profile(如dev、product)。(4)使用Maven作为构建工具时,需要配置大量的依赖关系,且程序需要被打包为war文件并部署到应用服务器上才可以执行。(5)RESTful作为接口技术应用得越来越广泛,但如果使用Spring来搭建RESTful服务,则需要引入大量的Maven依赖库,并且需要编写许多的配置文件。1.1.1SpringBoot和MVC架构对比
engineeringSoftware由于Spring具备IOC(InversionofControl的缩写,“控制反转”)的特性,因此通过Spring开发出来的模块,它们之间的耦合度非常低,这同微服务的要求非常相似。在之前Spring版本的基础上,Pivotal团队提供了一套全新的SpringBoot框架。在这套框架里,开发者可以嵌入Web服务器,比如Tomcat,无须像之前那样把项目文件打包并部署到Web服务器上,而且SpringBoot还具备自动配置的功能,更为便利的是,通过定义配置文件,开发者还能“自动监控”基于SpringBoot框架模块的各项运行时的性能指标。总之,大家可以这样理解,SpringBoot是之前Spring框架的升级版,通过之后基于代码的叙述,我们更能详细地体会到SpringBoot框架的优势。1.1.2SpringBoot的简介
engineeringSoftware1.可快速构建独立的Spring应用2.遵循习惯优于配置的原则3.直接嵌入Tomcat等服务器(无须部署war文件)4.提供了“开箱即用”的Spring插件5.自动化配罝Spring和第三方库6.多环境配置7.极少的代码生成和XML配置1.1.3SpringBoot的特征
engineeringSoftware环境准备保证安装好的软件如下:JDK1.8.0_201(及以上版本)ApacheMaven3.6.0IntelliJ
IDEA
Ultimate旗舰版1.2SpringBoot开发起步
engineeringSoftware1.新建项目-springboot0101在IntellijIDEA界面中,依次单击File→New→Project,在弹出的NewProject对话框中新建Maven工程。1.2.1使用Maven方式构建SpringBoot项目
engineeringSoftware2.输入项目基本信息在Group栏输入组织名,Artifact就是项目名。其它选择默认就好,直接单击Next。1.2.1使用Maven方式构建SpringBoot项目
engineeringSoftware3.确认项目信息输入项目名称,选择项目保存位置。Projectname用于指定项目名称,在上一步中定义的ArtifactId会默认作为项目名;Projectlocation用于指定项目的存储路径。此处,我们使用上一步设置的springboot0101作为项目名称,存放路径可以单击右侧的…按钮修改。项目名称和存放路径设置好之后,单击Finish按钮完成项目的创建。在IntellijIDEA界面中,依次单击File→New→Project,在弹出的NewProject对话框中新建Maven工程。1.2.1使用Maven方式构建SpringBoot项目
engineeringSoftware4.添加SpringBoot相关依赖打开springboot0101项目下的pom.xml文件,在该pom.xml文件中添加构建SpringBoot项目和Web场景开发对应的依赖。1.2.1使用Maven方式构建SpringBoot项目
engineeringSoftware5.编写启动类在src/main/java目录上右击,创建一个it包,并在包中创建HelloApplication主类1.2.1使用Maven方式构建SpringBoot项目
engineeringSoftware6.编写Controller类接下来创建一个SpringMVC中的控制器HelloController,注意,必须创建在启动类包下面或者在启动类目录下面的包才行,否则SpringBoot启动类无法扫描到HelloController.java文件。1.2.1使用Maven方式构建SpringBoot项目
engineeringSoftware6.启动项目在第一次创建的主程序类中,右击RunHelloApplication或者直接单击工具栏中的运行按钮,启动后内置的Tomcat服务器也同时启动起来了。1.2.1使用Maven方式构建SpringBoot项目
engineeringSoftware此时我们在浏览器中输入localhost:8080/hello,就可以访问到我们先前创建的第一个控制器类中的方法并输出内容到浏览器中显示。1.2.1使用Maven方式构建SpringBoot项目
engineeringSoftware1.新建项目-springboot0102打开NewProject界面后,在左侧选择SpringInitializr,选择SpringBoot2.6.1版本,JDK1.8。两个选项配置完成之后,单击下方的Next按钮进入下一个步骤。1.2.2SpringInitializr方式构建SpringBoot项目
engineeringSoftware2.配置ProjectMetadata信息IDEA创建新项目时要根据项目情况设置项目的元数据(ProjectMatedata),设置项目元数据的界面如图所示。1.2.2SpringInitializr方式构建SpringBoot项目
engineeringSoftware3.添加组件
选择完Web依赖,IDEA就可以帮助开发者完成Web项目的初始化工作。创建项目时,也可以不选择任何依赖,而在文件pom.xml中添加所需要的依赖。1.2.2SpringInitializr方式构建SpringBoot项目
engineeringSoftware4.确认项目信息5.编写Controller类6.启动项目以上三步和1.2.1中通过使用Maven方式构建项目的方法一样。1.2.2SpringInitializr方式构建SpringBoot项目
engineeringSoftware创建SpringBoot项目后,会产生一个工程目录,该工程目录存放了工程项目的各种文件,对于SpimgBoot开发人员来说,了解该工程目录非常必要。可以看到大致分为4部分。1.Java类文件2.资源文件3.测试类文件4.pom文件1.3SpringBoot文件目录介绍
engineeringSoftware大家都知道在项目开发过程中,常常会改动页面数据或者修改数据结构,为了显示改动效果,往往需要重启应用查看改变效果,其实就是重新编译生成了新的Class文件,这个文件里记录着和代码等对应的各种信息,然后Class文件将被虚拟机的ClassLoader加载。而热部署正是利用了这个特点,它监听到如果有Class文件改动了,就会创建一个新的ClaassLoader进行加载该文件,不需要重新启动应用,最终也能将结果呈现在我们眼前。SpringBoot提供了热部署方案,大大提高了开发效率,因为频繁的重启项目,势必会浪费很多时间,有了热部署后,再也不用担心修改代码重启项目了。1.4热部署
engineeringSoftware在Spring项目中,对于controller、service、dao各层都需要建立单元测试项。对应不同的分层,我们可以使用junit和mock不同的方式。然而有些情况会需要启动spring容器来测试业务逻辑在容器内能否正常运行,针对此情况SpringBoot对项目的单元测试提供了很好的支持方式。SpringBoot为测试提供了一个名为spring-boot-starter-test启动器,在开发进行只要使用它就能引入SpringBoot测试模块,还能引入一些像JUnit,AssertJ,Hamcrest及其他一些有用的类库,具体如下所示。1.5单元测试engineeringSoftwareJUnit:Java应用程序单元测试标准类库。SpringTest&SpringBootTest:SpringBoot应用程序功能集成化测试支持。AssertJ:一个轻量级的断言类库。Hamcrest:一个对象匹配器类库。Mockito:一个JavaMock测试框架。JSONassert:一个用于JSON的断言库。JsonPath:一个JSON操作类库。1.5单元测试
engineeringSoftware通常情况我们部署单
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 塑料制品的微观结构与力学性能考核试卷
- 托儿所服务的儿童过敏与过敏原防控考核试卷
- 环境保护创新企业的先锋之路考核试卷
- 建筑物拆除电梯与升降机拆除考核试卷
- 宠物保姆与托儿服务考核试卷
- 建筑物拆除工程施工现场施工资料考核试卷
- 新能源汽车技术与智能交通系统考核试卷
- DB11∕T 3008.1-2018 人力资源服务规范 第1部分:通则
- 课件视频排版教学课件
- 偶戏课件教学课件
- 古代辞章领略古代辞章的风华与韵味
- 六年级道德与法治下册-3-学会反思教案
- 岗位风险排查管理制度
- 新媒体视听节目制作 第一章 新媒体时代导演的基本素养
- 2023-2024学年辽宁省沈阳126中八年级(上)期中数学试卷(含解析)
- 25题退役军人事务员岗位常见面试问题含HR问题考察点及参考回答
- 锅炉炉膛有限空间应急预案
- 深基坑工程质量验收标准
- 生产检验记录表
- 化工厂设计车间布置设计
- 幼儿园故事《水果屋》
评论
0/150
提交评论