《Spring Boot开发案例教程》高职全套教学课件_第1页
《Spring Boot开发案例教程》高职全套教学课件_第2页
《Spring Boot开发案例教程》高职全套教学课件_第3页
《Spring Boot开发案例教程》高职全套教学课件_第4页
《Spring Boot开发案例教程》高职全套教学课件_第5页
已阅读5页,还剩1048页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

配置SpringBoot开发环境项目一

项目1配置SpringBoot开发环境.pptx项目2进入SpringBoot世界.pptx项目3读取工程配置参数.pptx项目4前端框架Thymeleaf.pptx项目5路径访问传参和前后台传参.pptx项目6使用简单Java对象和JavaBean.pptx项目7Thymeleaf模板合成.pptx项目8集成ORM框架——JPA.pptx项目9过滤器、拦截器和切面编程.pptx项目10用户新建和编辑页面.pptx项目11用户管理页面.pptx项目12集成登录页面.pptx项目13打包、部署.pptx附录.pptx全套可编辑PPT课件目录01任务1了解入门知识02任务2安装Java04任务4配置Maven05任务5安装MySQL数据库03任务3安装IDE知识目标

(1)了解JavaWeb开发所需的软件,如IDE、Maven、MySQL和文本对比工具等。开发工具了解(2)掌握IDE开发环境、Maven项目管理工具的安装配置方法。环境安装配置(3)理解数据库的基本概念和SQL语言,并熟悉如何在Java中操作数据库。数据库操作知识技能目标(1)熟练安装Java和IDE开发环境。(2)合理配置Maven项目管理工具,如Tomcat。(3)熟练安装My

SQL数据库和管理工具,测试数据库链接。Java与IDE安装Maven配置技巧安装MySQL数据库素质目标(1)具备独立思考和解决问题的能力,能够自主查找和解决问题。独立排查问题1(2)具备持续学习和自我提升的能力,能够跟踪最新的技术发展趋势,并将其应用到实际操作中。跟踪技术趋势2学习路线项目描述在JavaWeb开发过程中,需要使用一系列工具软件,包括开发环境和进行项目配置的工具等,这些都是成功开发的前提条件。本项目介绍了相关软件的安装部署及配置方法,使学习者掌握基本的配置能力,从而为后续的开发工作做好准备。任务1了解入门知识01任务1

了解入门知识1.JavaWeb的概念JavaWeb是一种用于开发Web应用程序的技术框架,它专门针对网络开发,涵盖局域网、互联网和移动互联网等领域。JavaWeb采用B/S(浏览器/服务器)架构,也被称为JavaEE(JavaPlatform,EnterpriseEdition)开发,有时也被简称为J2EE。JavaEE的概念最早由Sun公司提出,后来Sun公司被收购,Java社区的管理权便归属了Oracle公司。JavaEE开发领域拥有众多技术,这些技术经过多年的发展,衍生出了许多分支。其中,Spring系列尤为突出,它是一个轻量级的开源框架,最初由RodJohnson在2002年提出并完成创建。如今,Spring已发展成为一个庞大的体系,而本书要讲的SpringBoot是Spring家族中最新成员之一,它继承自Spring、SpringMVC,是目前主流的Spring

Cloud微服务开发框架的基础。任务1

了解入门知识SpringBoot案例教程学习进程如图1-1所示。任务1

了解入门知识2.开发环境和个人设备对计算机的配置要求如下。开发JavaWeb应用,CPU需酷睿i3处理器或以上级别,以确保能高效处理开发过程中的多任务运算。CPU性能标准(1)内存要求8GB或以上,足够的内存可保障开发环境和多个开发工具同时运行时的流畅性。内存容量需求(2)任务1

了解入门知识(5)存储容量与分区存储容量需500GB,且建议有C、D两个分区,可避免数据集中存储带来的风险,如系统重装时数据丢失。(4)操作系统适配操作系统推荐使用64位的Windows10,可支持未来开发中将要安装的所有64位软件。任务1

了解入门知识[注意]操作系统应为64位,以确保支持未来开发中将要安装的所有64位软件。超过4GB的内存寻址的软件必须是64位系统。除此之外,还可以选择在虚拟机中搭建Linux环境进行开发,或者直接安装纯Linux系统。对于Java开发语言,各种工具软件基本提供了Linux版本。然而,这种选择可能意味着需要花费更多的时间来适应和学习,同时,在遇到问题时,由于用户群体较小,可能难以立即找到现成的解决方案,所以需要用户具备更强的独立处理问题的能力。任务2安装Java02任务2

安装Java使用SpringBoot2.x版本开发时,建议使用Java1.8(Java8),其官方下载网址为/zh-CN/。Java版本选择安装完成后,在控制台输入“C:/>java-version”命令,若显示Java8相关版本信息,则安装成功。版本验证操作从官方网站下载Java安装包后,按安装向导提示完成安装,过程中可自定义安装路径。安装流程演示任务2

安装Java查看Java版本的命令提示符窗口如图1-2所示。任务3安装IDE03任务3

安装IDE1.Eclipse开发软件SpringBoot不需要任何特殊的工具集成,可以使用任何集成开发环境(IDE)或文本编辑器来开发SpringBoot应用。以下是一些推荐使用的IDE/文本编辑器,可以根据需求选择其一种进行安装使用。Eclipse开发软件的下载地址为/downloads/download.php?file=/oomph/epp/2022-06/R/eclipse-inst-jre-win64.exe。使用Eclipse开发SpringBoot项目时,建议下载Spring官方指定的插件,可以在Eclipse软件中选择“help”→“EclipseMarketplace”选项,在其搜索框中搜索springtool-suite插件,按提示安装。任务3

安装IDE2.IntelliJIDEA开发软件IntelliJIDEA开发软件的下载地址为/products/#lang=java。IntelliJIDEA开发软件下载完成后,可选择30天试用,然后设置字符环境。设置IDE的字符集为“utf-8”,使其支持中文,即支持中文的显示、编辑、存储和传输。设置IntelliJIDEA的系统参数菜单和系统参数窗口,如图1-3和图1-4所示。任务3

安装IDE任务3

安装IDE设置IntelliJIDEA的主题、字体和字体大小参数,如图1-5所示。任务3

安装IDE3.SpringToolSuite(STS)SpringBoot项目的开发也可以使用STS,它是Spring官方插件包spring-tool-suite中集成的一个Eclipse开发环境,下载地址为https://spring.io/。STS下载界面如图1-6所示。下载完成后解压缩,在目录中找到“SpringToolSuite4.exe”,双击其进行安装。任务4配置Maven04任务4

配置MavenMaven的下载地址为/download.cgi。下载完成后将下载的压缩包解压,解压后的ApacheMaven的目录结构如图1-7所示。1.下载安装Maven任务4

配置Maven根据Maven官方网站说明,Maven3.3.x及以上版本要求的Java最低版本为1.7。知识库任务4

配置Maven本地仓库的主要作用是将常用的第三方Jar包存储起来。当进行工程(project)编译时,如果本地仓库中存在所需的第三方Jar包,则可以直接使用,这样既能降低网络负担、加快编译速度,还能支持离线编程。部分企业为了防止代码外泄或出于保密开发的考虑,会建立企业本地仓库,并事先下载好所有需要用到的第三方Jar包,从而确保整个开发过程完全在局域网内部进行。本地仓库的目录名称和位置可以根据个人或团队的偏好自由设置,但它通常位于开发者本地计算机的一个特定目录下,而非局域网中任意计算机的目录下。不过,开发者可以配置Maven或相关构建工具以访问位于局域网共享位置上的远程仓库或依赖项存储。ApacheMaven的本地仓库目录如图1-8所示。2.设置本地仓库任务4

配置MavenApacheMaven的本地仓库目录如图1-8所示。任务4

配置Maven常见的IDE工具,如Eclipse和IntelliJIDEA,都已经集成了Maven插件,使得Maven的配置变得相对简单。以下是在Eclipse或IntelliJIDEA中配置Maven的操作步骤。(1)在Eclipse中配置Maven。①打开Eclipse,在“Window”下拉列表中选择“Preferences”选项,如图1-9所示。②在弹出的“Preferences”窗口中选择“Maven”选项下的“Installations”选项,如图1-10所示。3.使用默认内嵌的Maven环境任务4

配置Maven任务4

配置Maven③单击“Add”按钮,在弹出的“NewMavenRuntime”窗口中选择Maven的安装路径,再单击“Finish”按钮,如图1-11所示。任务4

配置Maven(2)在IntelliJIDEA中配置Maven。①打开IntelliJIDEA,在“File”的下拉菜单中选择“Settings”选项,如图1-12所示。任务4

配置Maven②在弹出的“Settings”窗口的搜索栏中直接搜索“maven”,找到Maven的设置位置。③将IntelliJIDEA自带的Maven更改为用户自己配置的Maven,需要修改以下3处。·修改本地的Maven目录。·修改本地Maven的配置文件settings.xml。·设置本地的Maven仓库。IntelliJIDEA中Maven的参数设置如图1-13所示。任务4

配置Maven从图1-13中可知,设置Maven参数后即指定了IntelliJIDEA使用的Maven的本地仓库所在目录。该操作会在Maven工程的配置文件conf/Setting.xml中增加下列语句。<localRepository>D:\dev\repository</localRepository>需要说明的是,在IntelliJIDEA中要进行以下操作(仅供参考,用户可以根据自己项目的实际情况对照设置)。(1)将新建项目目录设置为D:\code/springboot,项目名称为springboot。(2)设置Maven的目录为D:\code\apache-maven-3.3.9(在IDEA中设置)。(3)指定Maven的配置文件位置。①D:\code\apache-maven-3.3.9\conf\settings.xml(需修改参数)。②Maven的本地仓库位置为D:\code\repository(在IDEA中设置)。任务4

配置Maven关于IDE自带的Maven默认的问题IDE安装时通常会自带Maven,该项目默认从国外的第三方软件插件仓库下载依赖,但由于网速较慢的原因,下载过程既耗时又不稳定,所以经常导致下载失败,进而影响项目的编译。Maven的本地仓库默认存储在C:\Users\用户目录下,这意味着下载的插件会逐渐占用C盘空间,而C盘作为系统盘,空间往往有限,因此有必要重新指定Maven本地仓库的位置。知识库任务4

配置Maven为了避免从国外网站下载第三方Jar包带来的不便,用户需要修改Maven的配置文件,以指定一个国内的镜像源来下载所需的第三方Jar包。下面是增加阿里云镜像的代码。4.修改Maven配置文件任务4

配置Maven任务5安装MySQL数据库05任务5

安装MySQL数据库(1)MySQL版本。建议使用MySQL8.x社区版(因为在JavaWeb编程中,MySQL数据库的低版本与高版本的JDBC驱动可能存在不兼容问题),下载地址为/downloads/installer/。(2)数据库用户设置。初始用户名/口令为root/root,但强烈建议用户自己设置更安全的口令。虽然在项目开发阶段,数据库用户名/口令的具体内容可能不是首要关注点,因为当项目部署到实际环境时会根据客户的需求重新配置数据库用户名和口令,但在开发过程中,妥善记录和管理好数据库的账号和密码对于团队协作和后续维护至关重要。(3)数据存放位置。对于DataFiles目录的设置,建议避免将其放置在C盘中,以防止操作系统重装时可能导致的数据库文件丢失。MySQL的安装目录默认是在C:\ProgramFiles\MySQL目录下。1.掌握MySQL数据库的基础知识任务5

安装MySQL数据库(4)口令验证方式。安装MySQL时注意选中口令验证方式,以兼容MySQL5.x。(5)重新安装配置。在实际安装过程中,有时会遇到数据库服务安装后无法启动的问题。此时,通常需要卸载MySQL并重新进行安装。需要注意的是,卸载和重装过程都必须使用位于C:\ProgramFiles(x86)\MySQL目录下的安装/卸载工具。该工具的具体位置如图1-14所示。图1-14MySQL的安装/卸载工具任务5

安装MySQL数据库解决MySQL的服务无法启动问题的方案(1)修改MySQL服务的登录为本地账户。用鼠标右击桌面上的MySQL图标,在弹出的快捷菜单中选择“管理”→“服务和应用程序”→“服务”选项,再用鼠标右击MySQL80服务并选择“属性”选项,在弹出的窗口中选择“登录”标签页,选中“本地服务”选项,然后重新启动服务。(2)重装MySQL。MySQL8及以上版本,找到MySQL安装目录下的“MySQLInstaller.exe”文件,双击运行可以直接重装。对于MySQL5.x版本,需要进行以下操作。知识库任务5

安装MySQL数据库①删除C:\ProgramFiles\MySQL和C:\ProgramFiles(x86)\MySQL两个目录。②删除C:\ProgramData\MySQL目录,这是个隐含目录。③删除注册表中如下的相关的MySQL条目。HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\EventLog\Application\MySQLHKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\EventLog\Application\MySQLHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application\MySQL④重新安装。任务5

安装MySQL数据库(1)Navicat。Navicat是一套可创建多个连接的数据库管理工具,用以方便管理MySQL、Oracle、PostgreSQL、SQLite、SQLServer、MariaDB和MongoDB等不同类型的数据库,下载地址为/download/direct-download?product=navicat_premium_cs_x64.exe&location=1。(2)Workbench。Workbench工具是MySQL安装后自带的客户端管理工具,其图标如图1-15所示。2.了解数据库的客户端管理工具任务5

安装MySQL数据库(3)命令行管理工具。命令行管理工具(CommandLineClient)是MySQL安装后自带的命令行管理工具,其图标如图1-16所示。(4)其他第三方工具。①HeidiSQL。这是一款开源的MySQL专用工具,下载地址为/download.php?download=installer&place=LinkLabelRelease。②phpMyAdmin。其下载地址为/。③SQLyog。其下载地址为/webyog/sqlyog-community/wiki/Downloads。任务5

安装MySQL数据库使用Navicat配置客户端管理工具时,需要的配置如下参数。(1)连接名称。(2)主机名或IP地址。(3)数据库端口。(4)数据库用户。(5)数据库口令。配置完成后,可以单击“连接测试”,查看是否连接成功。Navicat的数据库连接配置界面如图1-17所示。3.配置数据库客户端工具的数据库连接任务5

安装MySQL数据库在开发过程中,推荐使用谷歌浏览器,下载地址为/chrome/。对于初学开发的人员来说,经常会遇到各种问题,导致程序无法顺利运行,尽管自己检查时未发现问题,但在编译时系统仍可能提示错误。在这种情况下,可以利用文本比对工具,如WinMerge或BeyondCompare等,通过对比正确代码与自己的代码的异同,从而快速定位查找错误代码和原因。WinMerge的下载地址为/。项目总结

本项目主要讲解如何下载并安装一系列的软件开发环境,包括但不限于Java虚拟机、IDE软件、Maven项目管理插件、数据库、谷歌浏览器及文本比对工具等。在安装过程中,有些软件可能需要安装者进行客户化配置,以满足开发需求。项目练习1.如何查看Java虚拟机的版本?SpringBoot开发建议使用的Java是哪个版本?2.Maven在项目开发中的作用是什么?3.什么是Maven的本地仓库?4.MySQL推荐安装的是哪个版本?5.配置数据库客户端管理工具中的数据库连接时,通常需要设置哪些参数?谢谢观看THANKS

进入SpringBoot世界项目二

目录01任务1了解SpringBoot框架02任务2制作第一个Spring示例04任务4使用注解式编程05任务5配置端口和上下文路径03任务3了解第一个Spring示例

的工程结构知识目标

(1)了解Spring框架的特点,熟悉SpringBoot构建JavaWeb项目的结构。(2)熟练掌握SpringBoot构建JavaWeb项目的步骤和方法。(3)熟悉JavaWeb项目开发过程中常见问题的解决方法。技能目标(1)能够利用SpringBoot构建一个简单的JavaWeb项目。(2)能够在JavaWeb项目中配置项目的Maven、本地仓库及语言环境。(3)能够识别并处理JavaWeb项目中的报错信息。素质目标(1)具备独立思考和解决问题的能力,能够自主查找所需资料。1(3)具备较强的责任心和抗压能力,面对压力能够保持冷静并完成任务。32(2)具备持续学习和自我提升的能力,能够跟踪最新的技术发展趋势,并将其应用到实际项目中。学习路线项目描述Spring框架是前端开发的重要工具,了解它的架构、特点、核心技术及项目结构等对于开发者来说非常必要。本项目将详细介绍SpringBoot相关的基本信息,旨在帮助用户建立对SpringBoot的基本了解和认知,并掌握其构建应用的方式。同时,还将列举在SpringBoot开发过程中可能遇到的问题及相应的解决办法,以便用户能够更好地面对挑战。了解SpringBoot框架01任务1

了解SpringBoot框架Spring是一个广泛使用的开源框架,它是为了解决企业应用开发的复杂性而创建的。Spring利用简单的JavaBean来完成以前只能由EJB完成的任务。然而,Spring的用途不仅仅限于服务器端的开发;从提升应用的简单性、可测试性和松耦合的角度来看,几乎任何Java应用都可以从Spring框架中获益。任务1

了解SpringBoot框架Spring框架提供了一套灵活且全面的编程和配置模型,这些模型适用于各种场景下的企业级Java应用程序开发。其中一个关键优势是,它在应用程序级别上提供了丰富的基础设施支持,专注于为企业级应用铺设“管道”(基础设施),从而让研发团队能够更专注于应用层面的业务逻辑开发,而不必过多关注与特定部署环境的集成问题。任务1

了解SpringBoot框架简而言之,如果用户在进行Java开发时坚持所有程序都由自己编写,那么他们可能永远难以创造出具有实际价值的应用程序。更为明智的做法是,站在前人的肩膀上,利用已经经过深入研究的技术和成熟的组件来构建自己的程序。Java开发要用到的技术/组件有很多,如果每次构建程序时都需全面考虑这些方面,且在选择和配置这些技术/组件时犹豫不决,那么开发效率和效果会都不理想,而Spring作为一个专业的开发框架,可以帮助用户解决这些问题,并能帮助用户高效地选择和配置所需的技术与组件。任务1

了解SpringBoot框架要时刻警惕各种组件间的不兼容问题;要编写臃肿且烦琐的EJB代码;同时还要考虑HTML、CSS以及多种不同浏览器的不兼容问题,这极大地限制并减少了他们编写核心业务需求代码的时间。因此,不少开发者转而选择PHP,因为PHP相对简单。然而,PHP也存在很多问题,如代码管理不规范、代码复用性差等,PHP更适合小规模团队用来开发小型系统。而Spring通过其简化的配置、强大的依赖注入和面向切面编程等特性,为Java开发者提供了一个更为高效、灵活的开发环境。Spring诞生的初衷是简化Java的开发过程。在初期,使用Java进行Web开发的开发人员面临着诸多挑战:他们需要处理大量的XML配置文件;任务1

了解SpringBoot框架随后,基于这一理念以及为了进一步提升开发效率,2014年,第一个SpringBoot框架诞生了。SpringBoot中的“Boot”一词象征着快速启动的能力。SpringBoot允许开发者在几乎零配置的情况下通过一键操作启动项目,提供了简洁而优雅的开发体验。工程师RodJohnson为了简化J2EE的开发流程并抛弃对EJB的过度依赖,经过深入的分析与研究,编写了Expertone-on-oneJ2EEDevelopmentwithoutEJB(《抛弃EJB一对一地开发J2EE》)一书。制作第一个Spring示例02任务2

制作第一个Spring示例本书介绍的Web工程开发,采用的是IntelliJIDEA开发工具。因为IntelliJIDEA内嵌集成了Spring的开发组件,相较于使用Eclipse或VisualStudioCode时需要额外下载Spring组件(这些组件通常较大,且从国外服务器下载速度可能较慢)而言,IntelliJIDEA提供了更为便捷的开发环境。Spring的这些组件不仅负责SpringJ2EE程序本身的管理,还提供了开发过程中的代码提示功能,以及如SpringInitializr等实用的开发工具。下面将使用IntelliJIDEA开发工具来创建第一个Spring示例项目。任务2

制作第一个Spring示例1.新建Java工程首先,需要在D盘的根目录下创建一个名为code的文件夹,这个文件夹将用作存放J2EE开发工程的目录。其具体操作如下。(1)单击IntelliJIDEA中的“NewProject”按钮(见图2-1),进入SpringBoot工程的选择/创建界面。任务2

制作第一个Spring示例(2)在打开的“NewProject”对话框中选择“Java”选项,如图2-2所示,进入工程属性的配置对话框。任务2

制作第一个Spring示例(3)

在“Projectname”文

称(如springboot),

在“Projectlocation”文本框中选择工程保存路径(如D:\code\springboot),如图2-3所示。任务2

制作第一个Spring示例单击“Finish”按钮,创建完成后的springboot工程目录如图2-4所示。任务2

制作第一个Spring示例如果工程关闭,可以从如图2-5所示的界面中打开工程。该工程将作为本书所有代码的“大本营”,相当于代码容器。在后续的内容中,将会在这个工程中创建示例代码,每个示例代码都是一个模块(module)。任务2

制作第一个Spring示例2.配置工程的Maven、本地仓库及语言环境在IDEA中,每一个工程都可以设置其专属的Maven、指定本地仓库位置及语言环境等属性。其中,Maven的配置尤为重要,因为如果不为工程配置正确的Maven,在开发过程中可能会遇到一些难以预料的错误。具体的Maven配置方法见项目1任务4。任务2

制作第一个Spring示例3.在SpringBoot工程中新建c4模块(1)创建模块。选择SpringBoot工程并用鼠标右击,在弹出的快捷菜单中选择“Module”选项,或者在系统菜单中单击“File”→“New”→“Module”进行创建,如图2-6所示。任务2

制作第一个Spring示例(2)设置模块相关参数。将创建的模块名称设置为“c4”,并设置其相关参数,如图2-7所示。任务2

制作第一个Spring示例在使用SpringInitializr时,可以通过单击图2-7中的“Next”按钮来配置项目。可以选择SpringBoot的版本(本书统一推荐使用2.7.3版本),并通过选中“Web”选项下的“SpringWeb”来添加Web支持。选择完成后,单击“Finish”按钮以生成项目。SpringInitializr是一个由Spring官方提供和维护的框架,用于快速构建SpringBoot项目工程的框架。任务2

制作第一个Spring示例由于SpringBoot版本的快速迭代,所以有时IDE可能无法直接支持较旧的Java版本(如Java8)。如果遇到这种情况,并且需要使用特定版本的Java,则更改IDE中SpringInitializr的ServerURL地址,以指向一个包含用户所需支持的版本的源。对于国内用户,阿里云等提供了镜像服务作为替代,可以通过单击配置页面顶部的小齿轮图标,然后在弹出的对话框中将地址更改为阿里云提供的镜像地址,其设置地址为/。任务2

制作第一个Spring示例填写与工程相关的信息时,可参考以下内容。①Name:工程名或模块名。如果是project,相当于Eclipse软件的workspace。②Location:存储路径。③Group:组织机构名。通常用域名形式表示,如com.springboot。④Artifact:工艺品。这里通常等同于工程名或模块名。⑤Packagename:软件包名。⑥Java和ProjectSDK:Java8对应ProjectSDK1.8。任务2

制作第一个Spring示例创建好的c4模块界面如图2-8所示。任务2

制作第一个Spring示例pom.xml中springframework项报错的处理有时,在模块中的pom.xml文件中可能会出现报错,如org.springframework.boot版本号旁边出现一个红色感叹号,这表示存在某种问题。那么,面对这种错误该如何处理呢?可参考以下处理步骤。(1)进入系统后,单击菜单“File”→“InvalidateCaches”,在弹出的“InvalidateCaches”对话框中单击“InvalidateandRestart”按钮,如图2-9所示。知识库任务2

制作第一个Spring示例图2-9,单击“InvalidateandRestart”按钮。知识库任务2

制作第一个Spring示例(2)单击窗口最左边的

图标,或者在pom.xml文件上用鼠标右击,在弹出的快捷菜单中选择“Maven”→“ReloadAllMavenProjects”选项,如图2-10所示。知识库任务2

制作第一个Spring示例或在左边工程名上用鼠标右击,在弹出的快捷菜单中选择“Reloadproject”选项,如图2-11所示。知识库任务2

制作第一个Spring示例(3)还有一种情况就是,在配置完后首次加载工程时,防火墙可能会弹出询问对话框,询问是否允许Maven访问网络。如果在此处选择了“不允许”,那么可能会导致Maven无法下载所需的依赖。针对这种情况,建议首先尝试修改防火墙设置以允许Maven访问,但是如果问题依旧存在,可以尝试修改Maven的安装目录名并重新进行配置。重要的是,在第一次加载工程时必须选择“允许”访问,以确保Maven能够正常下载依赖。知识库任务2

制作第一个Spring示例(4)检查是否未正确设置自己的Maven环境。因为多数情况下,问题可能由此引起。如果已经完成了Maven的正确设置,那么重复执行步骤(1)即可。知识库任务2

制作第一个Spring示例pom.xml中spring-boot-maven-plugin项报错的处理如果pom.xml文件的中spring-boot-maven-plugin插件项仍然显示红色(表示存在错误或警告),则可以在此插件项下明确指定一个版本号,确保这个版本号与spring-boot-starter-parent项中指定的版本号相同,这样就可以解决问题。知识库任务2

制作第一个Spring示例知识库任务2

制作第一个Spring示例工程中无法识别Java文件的处理在开发过程中,有时可能会遇到Java文

在IDE环

别(

),进而导致无法创建新的Java文件的情况。为了解决这个问题,需要单击系统菜单“File”→“ProjectStructure”,在弹出的“ProjectStructure”对话框中选择“Modules”标签页,接着在列表中找到出问题的模块,并检查其“Sources”目录设置。如果发现该模块被错误地标记为“Excluded”,需要将“Markas”从“Excluded”更改为“Sources”。知识库任务2

制作第一个Spring示例完成这些设置后,先单击“Apply”按钮,再单击“OK”按钮保存更改。界面调整后的效果如图2-12所示。单击“OK”按钮退出后,工程便可识别Java文件。知识库任务2

制作第一个Spring示例(3)创建控制器文件。右击com.springboot包,然后在弹出的快捷菜单中选择“New”→“Package”选项,如图2-13所示。任务2

制作第一个Spring示例在“NewPackage”弹

名“.springboot.controller”,

如图2-14所示。任务2

制作第一个Spring示例右击controller包名,在弹出的快捷菜单中选择“New”→“Class”选项,新建Java类“AdminController”,如图2-15所示。任务2

制作第一个Spring示例最后编辑AdminController.java类文件,具体代码如下。任务2

制作第一个Spring示例在代码中,某些词语下方出现红线提示错误,要求增加Maven依赖声明的问题(1)将鼠标指针放到带有下画线的词语上,系统可能会弹出如图2-16所示的窗口。知识库任务2

制作第一个Spring示例如果出现图2-16所示的窗口,通常是项目中存在未解决的依赖问题。多数情况下,这是由于相关的依赖包未能被正确引入或解析所导致的。此外,也有可能是Maven的配置出现了错误。为了解决这个问题,应首先检查Maven的配置,确保它能够正常连接到远程仓库并下载依赖。接着,仔细检查pom.xml文件中是否已正确声明了所需的依赖项。知识库任务2

制作第一个Spring示例(2)将鼠标指针放到带有下画线的词语上,系统可能会弹出如图2-17所示的窗口,此时直接用鼠标单击“Importclass”即可。知识库任务2

制作第一个Spring示例路径请求和请求路径的区别@RequestMapping(value="/hello",method=RequestMethod.GET)语句中的RequestMapping是路径请求方法,或者是路径访问方法,而“/hello”是具体的请求路径。请求路径不等于Url访问地址,需要加上http://IP地址:端口才构成完整的访问地址,如http://IP地址:端口+请求路径。知识库任务2

制作第一个Spring示例(4)编译和运行。进入C4Application文件,用鼠标单击图2-18中数字代码右侧的图标,在其子菜单中选择“Run‘C4Application’”选项。任务2

制作第一个Spring示例除此之外,还可以单击右上角工具栏中的

图标(C4Application需要运行一次才会出现),如图2-19所示。任务2

制作第一个Spring示例图2-19所示工程是当前工程。如果有很多工程/模块,则需注意其下拉列表框中是否为当前要运行的工程/模块。运行后,如果出现如图2-20所示的界面,则表示运行成功。任务2

制作第一个Spring示例在图2-20中,必须注意端口号和Tomcat后的上下文路径,这部分内容在访问页面时要用。在浏览器页面中访问的三种表述方式如下。①:8080/hello;②http://localhost:8080/hello;③http://本机机器名:8080/hello。浏览器访问结果如图2-21所示。了解第一个Spring示例的工程结构03任务3

了解第一个Spring示例的工程结构1.了解Spring示例的工程结构SpringBoot工程的目录结构有多层,如图2-22所示。任务3

了解第一个Spring示例的工程结构SpringBoot工程的结构主要包括以下内容。(1)springboot:工程文件。(2)c4:模块工程文件。(3)src:源代码目录。(4)main:主目录。(5)com\springboot:组织名称/软件包名。(6)resources:资源文件目录。(7)test:测试目录,其下也有软件包名构造。任务3

了解第一个Spring示例的工程结构2.了解Maven工程配置文件Spring示例工程下有一个pom.xml文件,该文件就是Maven工程的标志。pom.xml文件的具体代码如下。任务3

了解第一个Spring示例的工程结构任务3

了解第一个Spring示例的工程结构任务3

了解第一个Spring示例的工程结构任务3

了解第一个Spring示例的工程结构使用注解式编程04任务4

使用注解式编程注解(annotations)被用来为类、属性或方法提供元数据信息,以便这些元素在程序编译或运行时能被特别处理。它们相当于一种内置的说明文件,向应用程序解释被注解的类、属性或方法的含义,以及它们应该如何被处理。注解可以用于标注包、类、方法和变量等。任务4

使用注解式编程注解的使用促进了开发的便捷性,简化了代码并大幅度提升了简洁性及开发速度。Spring框架引领了注解式编程的开发潮流,首先在Spring2.x版本中引入了注解的概念,随后在Spring3.x版本中进一步完善了注解的功能,而SpringBoot则极大地普及并推广了注解式编程的实践。任务4

使用注解式编程注解式编程的形式是通过在类、方法或变量上加入特定的注解(@×××)来完成特定功能的开发。任务4

使用注解式编程1.控制器中包含的注解(1)@Controller:控制器类注解,被该注解声明的类由容器来创建和管理,当容器启动时自动创建。(2)@RequestMapping:设置访问路径或称URL(国际资源定位符),规定浏览器访问时在地址栏中输入的部分内容,设置访问/提交的请求路径。(3)@GetMapping:设置访问的请求路径。(4)@PostMapping:设置提交的请求路径。(5)@ResponseBody:将Java对象转为json格式的数据。(6)RestController:特殊控制器类,即@Controller+@ResponseBody,路径请求后返回的都是json格式的数据。任务4

使用注解式编程控制器类中的注解控制器类中的注解远不止上述提到的几种,还包括许多其他有用的注解,例如,@PutMapping、@UpdateMapping、@DeleteMapping等。这些注解各自拥有特定的用途,如果对这些注解有兴趣,可以参考相关文章以获取更多信息。知识库任务4

使用注解式编程2.控制器中注解的书写格式以@RequestMapping、@GetMapping、@PostMapping为例,其书写格式如下。任务4

使用注解式编程为上述代码换一个控制器注解,可以省略@ResponseBody注解,即@RestController相当于@Controller+@ResponseBody。任务4

使用注解式编程多层路径的书写格式如下。任务4

使用注解式编程多层路径的另一种写法如下。任务4

使用注解式编程根路径的书写格式如下。配置端口和上下文路径05任务5

配置端口和上下文路径1.配置端口(1)在perties文件中默认设置的访问端口是8080。但用户也可以根据需要设置不同的端口,例如:设置完成后访问相应的端口,以查看运行结果。任务5

配置端口和上下文路径(2)在application.ymal或application.yml文件中设置端口。例如:[注意]在yml或yaml文件中,名称项、冒号和值之间必须保留一个空格,这是YAML语法的要求。任务5

配置端口和上下文路径配置文件通常位于resources目录下,其默认名称为perties。此外,SpringBoot还支持另外两种文件格式,分别是application.yml和application.yaml,开发者只需选择其中的一种进行配置即可。任务5

配置端口和上下文路径application.yaml配置文件的工作原理与perties相同,只是通过不同的格式来表达相同的配置信息,且通常能够提供更简洁的语法。yml/yaml文件格式是SpringBoot支持的一种数据序列化格式,它是JSON(JavaScriptObjectNotation)的超集,但相较于传统的Properties配置文件,yml/yaml文件是一种更为直观且容易被计算机识别的数据序列化格式。任务5

配置端口和上下文路径配置的端口的作用范围上述在工程中配置的端口值通常只能在工程开发和测试期间起效。当工程被部署到实际的Web服务器上时,需要在服务器的配置文件中重新指定端口号。知识库任务5

配置端口和上下文路径2.配置上下文路径配置文件中默认设置了上下文路径的根为“/”,也可以设置其他访问路径,例如:程序运行后,访问浏览器就必须输入:8080/demo1/hello。任务5

配置端口和上下文路径有关上下文路径的说明上下文路径的设定非常重要,声明时需要区分路径前后添加“/”的不同情况,确保格式的一致性。错误地添加可能导致出现“//”,如果不加,又可能会出现“”,这两种情况都不是用户想要的,尽管在调试阶段可能不会引发错误,但在正式部署时可能导致路径无法被找到或解析失败,特别是在使用双层或内外层RequestMapping时,系统可能自动加“/”。为避免此类问题,建议采用拦截器对路径进行预处理,将“//”统一更换为“/”,以确保路径的正确性和应用的稳定性。知识库任务5

配置端口和上下文路径在Controller类中编辑路径时,出现不能识别字符的情况在编程过程中,如果在控制器的方法中输入路径时,出现不识别字符的提示,这通常是IDE提供的编码辅助提示,该提示可以在系统中关闭。对于SpringBoot工程,关于其程序中路径提示的具体参数设置,可参考如图2-23所示的配置。知识库任务5

配置端口和上下文路径知识库项目总结

在本项目中,深入学习了SpringBoot工程的构造原理及其代码的组成方式,掌握了注解式编程的基本概念,详细学习了控制器类中使用的相关注解,并成功编写且运行了第一个SpringBoot应用程序。项目练习1.独立完成本项目的c4工程。2.在浏览器页面中分别访问以下内容。(1)在浏览器中访问:8080/hello,运行后查看结果并截图。(2)在浏览器中访问http://localhost:8080/hello,运行后查看结果并截图。(3)在浏览器中访问http://本机机器名:8080/hello,运行后查看结果并截图。3.在配置文件中分别修改端口号和上下文路径,运行后查看结果并截图。项目练习4.请求路径和路径请求有哪些区别?5.简要说明@ResponseBody的作用。6.简要说明@RequestMapping、@GetMapping、@PostMapping三者的作用和区别。7.被@Controller注解标记了的类与其他类有哪些不同?8.现有一个上下文访问路径server.servlet.context-path=/demo1,将其改为yaml文件格式的上下文访问路径。谢谢观看THANKS

读取工程配置参数项目三

目录01任务1使用@Value注解读取

系统配置参数02任务2使用@Configuration读取系统配置参数04任务4使用@Autowired注解05任务5了解SpringBoot中Servlet的内置对象03任务3获取Enviroment环境对象中的值06任务6了解SpringBoot中Servlet的作用域知识目标

(1)熟悉读取系统配置文件参数的两种方法。(2)熟练掌握SpringBoot中Servlet的四个内置对象和三个作用域的使用。技能目标(1)能够使用@Value注解读取系统配置。(2)能够使用@Configuration读取系统配置。技能目标(3)能用系统环境对象Environment来直接获取配置文件中的参数。(4)灵活应用Servlet的四个内置对象和三个作用域解决实际问题。素质目标(1)具备独立思考和解决问题的能力,能够自主查找并解决问题。1(3)具备较强的责任心和抗压能力,面对压力能够保持冷静并完成任务。32(2)具备持续学习和自我提升的能力,能够跟踪最新的技术发展趋势并应用到实际项目。学习路线项目描述在实际项目实施中,有的客户要求系统在启动时在页面下方展示一些基本信息,如客户单位名称、联系方式等。为避免直接在页面代码中硬编码这些信息,可以将其配置在初始化文件中,并在系统启动时加载。Spring框架提供了这样的机制并在SpringBoot中使这一机制得到了继承和应用。使用@Value注解读取系统配置参数01任务1

使用@Value注解读取系统配置参数1.读取单个参数Spring提供的@Value注解可以从配置文件中读取系统配置参数。例如,在perties文件中增加行:在控制器类中定义以下方法。任务1

使用@Value注解读取系统配置参数任务1

使用@Value注解读取系统配置参数最后,在浏览器中访问链接:8080/getAddress。浏览器访问结果如图3-1所示。任务1

使用@Value注解读取系统配置参数2.读取多个参数例如,在perties中增加行,代码如下。在AdminController.java中增加信息,代码如下。任务1

使用@Value注解读取系统配置参数任务1

使用@Value注解读取系统配置参数在浏览器中访问链接:8080/companyDesc。浏览器访问结果如图3-2所示。使用@Configuration读取系统配置参数02任务2

使用@Configuration读取系统配置参数例如,在SpringBoot包下创建config包,并创建一个名为Company的Java类文件,然后在Company类中编写以下代码。任务2

使用@Configuration读取系统配置参数任务2

使用@Configuration读取系统配置参数增加注解@ConfigurationProperties的问题有时为了给系统增加系统配置项,需要用到@ConfigurationProperties注解,但这时系统可能会出现错误,这种情况需要在pom.xml中增加以下依赖。知识库任务2

使用@Configuration读取系统配置参数知识库任务2

使用@Configuration读取系统配置参数在AdminController.java中编写以下代码。任务2

使用@Configuration读取系统配置参数最后,在浏览器中访问链接:8080/company。浏览器访问结果如图3-3所示。任务2

使用@Configuration读取系统配置参数程序运行时发现页面不支持中文的解决方法(1)在perties中增加行。server.servlet.encoding.enabled=true添加后,重新运行程序,在浏览器访问中文即可显示正常。(2)在请求方法后增加produces参数。@RequestMapping(value="/logoTest",method=RequestMethod.GET,produces="text/json;charset=UTF-8")

(3)使用自定义拦截器。知识库获取Enviroment环境对象中的值03任务3

获取Enviroment环境对象中的值在系统启动时,可能需要初始化一些参数,这些参数通常被放置在配置文件中。可以利用SpringBoot提供的获取系统环境对象Environment来直接获取配置文件中的参数值,具体代码如下。使用@Autowired注解04任务4

使用@Autowired注解@Autowired是Spring框架中的自动装配注解,用于将Spring容器中的bean自动注入类的实例变量中。在编写Spring框架代码时,建议将bean定义成私有的实例变量,并且要配套写上get和set方法。在本例中声明了Company对象的实例company,该对象有Name和Websit属性,使用@Autowired自动装配会自动引入事先声明的Company对象属性的get/set方法。任务4

使用@Autowired注解实际上,在J2EE编程中经常能看到另一个自动装配注解@Resource,这个注解与@Autowired在功能上有相似之处,有些程序代码甚至同时使用了这两者。两者的区别如下。(1)提供方式不一样。@Autowired是由Spring提供的;而@Resource是由J2EE提供的,或者说由Java官方提供,由JDK负责解析。(2)装配方式不一样。@Autowired只按类型装配,而@Resource可以按类型和名称装配,默认按名称装配。了解SpringBoot中Servlet的内置对象05任务5

了解SpringBoot中Servlet的内置对象SpringBoot的Servlet内置对象与SpringMVC的Servlet内置对象相同,底层调用的是同样的文件,SpringBoot中常用的有4个。在SpringBoot工程下引入Servlet的jar包代码如下。任务5

了解SpringBoot中Servlet的内置对象SpringBoot工程下引入的Servlet的jar包目录如图3-4所示。任务5

了解SpringBoot中Servlet的内置对象Servlet九大对象(1)out对象:是一个继承自抽象类javax.servlet.jsp.JspWriter的实例,用于发送输出流至客户端。(2)request对象:来源于javax.servlet.http.HttpServletRequest接口,被关联到每一个HTTP请求。(3)response对象:来源于javax.servlet.http.HttpServletResponse,response对象用于将取得的数据返回至客户端。知识库任务5

了解SpringBoot中Servlet的内置对象(4)pageContext对象:提供访问JSP页面的命名空间,还提供用来访问其他的JSP隐含对象。(5)session对象:来源于javax.servlet.http.HttpSession,用于存储客户端请求的信息,因此它是有状态交互式的。(6)application对象:来源于javax.servlet.ServletContext,表示Servlet的上下文,ServletContext代表整个容器的操作。知识库任务5

了解SpringBoot中Servlet的内置对象(7)config对象:来源于ServletConfig,包含当前JSP/Servlet所在的Web应用的配置信息。(8)page对象:来源于当前被访问JSP页面的实例化,实际使用的是JSP转换的Servlet。(9)exception对

象:

获JSP抛

常,

在JSP页

性isErrorPage=true时才可用。知识库任务5

了解SpringBoot中Servlet的内置对象在SpringBoot体

中,

使

的Servlet对

有request、response、session和application。Servlet对象在引入Spring中时被重新封装成HttpServletRequest、HttpServletResponse、HttpSession和ServletContext对象。1.HttpServletRequest对象(1)设置项目配置文件中的端口。任务5

了解SpringBoot中Servlet的内置对象(2)在控制器方法中编写方法。任务5

了解SpringBoot中Servlet的内置对象(3)在浏览器中访问链接:8081/c5/getContextP。上下文路径访问结果如图3-5所示。任务5

了解SpringBoot中Servlet的内置对象将上述代码稍做修改,以多行文本形式返回,代码如下。任务5

了解SpringBoot中Servlet的内置对象在浏览器中访问链接:8081/c5/getRequest。多行文本的上下文路径访问结果如图3-6所示。任务5

了解SpringBoot中Servlet的内置对象ContextContext是“容器”,包含应用程序的所有资源,使用时访问即可,因此Context在应用程序中是一个全局对象,在SpringBoot中该对象名称为ServletContext。Context的路径被称为“上下文路径”,此路径是相对路径,其真正部署后工程的路径是:部署路径+上下文路径,上下文路径在SpringBoot工程中的perties中声明。另外,在perties中配置的端口是工程编辑运行期间的端口,而非真正部署时的端口,真正部署的系统访问端口一般会在容器的配置文件中显示。知识库任务5

了解SpringBoot中Servlet的内置对象2.HttpServletResponse对象调用Response对象,实现2s后页面跳转到百度网站的代码如下。任务5

了解SpringBoot中Servlet的内置对象3.HttpSession对象利用HttpServletRequest获得HttpSession对象,然后将字符串对象放入HttpSession对象中的代码如下。任务5

了解SpringBoot中Servlet的内置对象任务5

了解SpringBoot中Servlet的内置对象Session失效时间的设定Session的失效时间可以在程序中设定,但一般在工程属性配置文件中设定,且系统默认设定为30min,此设置可以省略,需要时可以设置不同值,具体的设置方式如下。#单位为minserver.servlet.session.timeout=10知识库任务5

了解SpringBoot中Servlet的内置对象在浏览器中访问链接:8081/c5/getSid。返回的Session对象的ID结果如图3-7所示。任务5

了解SpringBoot中Servlet的内置对象取出放入HttpSession对象中的字符串对象,代码如下。任务5

了解SpringBoot中Servlet的内置对象在浏览器中访问链接:8081/c5/getPwd。取出放入HttpSession对象中的字符串对象的结果如图3-8所示。任务5

了解SpringBoot中Servlet的内置对象相同地址不同访问页面或不同浏览器的SessionID不同(1)同一个浏览器不同的页面访问获得的SessionID的值不一样。(2)只要重新运行后台,页面访问获得的SessionID的值就会改变。(3)如果浏览器不一样,即使是同一个后台,SessionID值也不一样。知识库任务5

了解SpringBoot中Servlet的内置对象使用不同浏览器访问SessionID值的结果如图3-9所示。知识库任务5

了解SpringBoot中Servlet的内置对象清除Session对象,一般在注销账户时使用。其代码如下。任务5

了解SpringBoot中Servlet的内置对象上述代码的清除操作是一种比较彻底的清除方式。然而,在某些情况下,可能不需要进行如此彻底的清除,此时,可用如下办法来只清除相关信息。任务5

了解SpringBoot中Servlet的内置对象4.ServletContext对象在SpringBoot中,ServletContext是常用的对象,通常被设置为系统的全局变量,在SpringMVC中该对象名称为Application。其代码如下。任务5

了解SpringBoot中Servlet的内置对象在浏览器中访问链接:8081/c5/setGlobal。利用全局变量返回版本号的结果如图3-10所示。了解SpringBoot中Servlet的作用域06任务6

了解SpringBoot中Servlet的作用域Servlet作用域包括ServletContext、HttpSession、HttpServletRequest,其作用域范围从大到小。任务6

了解SpringBoot中Servlet的作用域1.ServletContext作用域ServletContext作用域针对一个Web应用,通常只有一个SevletContext对象存在,利用该对象保存的数据,在整个Web应用中都有效。创建时间:ServletContext对象在服务器启动该应用时创建。销毁时间:ServletContext对象在服务器关闭该Web应用或项目被移除时销毁。任务6

了解SpringBoot中Servlet的作用域2.HttpSession作用域在一次会话中,服务器会使用一个特定的会话对象来保存数据,这些数据被保存在服务器上。这些数据在会话期间(可能包含多个请求)内都是有效的。如果关闭浏览器,就会结束这次会话,相应的会话数据也会失效。此外,不同的浏览器访问同一地址时,会创建不同的会话对象。任务6

了解SpringBoot中Servlet的作用域会话对象的创建时间:当服务器第一次调用getSession()方法时,会话对象被创建。会话对象的销毁时间有以下三种情况。服务器非正常关闭(若服务器正常关闭,会话对象通常会被序列化保存)。会话过期,默认情况下,在XML配置文件中设置的会话超时时间为30min。(1)(2)手动调用会话对象的invalidate()方法。(3)任务6

了解SpringBoot中Servlet的作用域3.HttpServletRequest作用域用户登录时调用方法request.setAttribute("User",user);(将user对象放入request作用域),放在此作用域中的数据,一个页面转发多个页面数据均有效。创建时间:客户端向服务器发送一次请求时创建。销毁时间:请求做出响应之后,销毁请求。项目总结本项目学习了SpriingBoot中属性配置文件参数的两种读取办法及相关注解,并了解了Servlet的四个内置对象及其三个作用域的使用。这些内容对于深入理解并高效开发SpringBoot程序有很大的帮助。项目练习1.将本项目的perties文件改成yaml格式,并试着读取配置文件中的变量值。2.根据配置文件中的属性值,创建Person对象实例,并注入属性值。定义Person对象,创建控制器方法,在浏览器中访问person的值。项目练习3.创建Company实例,先将实例对象赋值后放入HttpSession对象中,然后从浏览器中访问获取HttpSession中的Company实例对象的值。4.先

建User对

象,User对

含id、name、password三

值,

再创建对象实例,赋值后将其放入ServletContext全局对象中,然后从浏览器中访问获取ServletContext中的User实例对象的属性值。5.@RestController可以用哪

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论