一.开发环境的配置
-
JDK安装
①也可使用idea自带jdk,可能与open jdk存在一些区别
②傻瓜式安装,完成后配置环境变量 -
Intellij IDEA安装
傻瓜式安装,完成后在“文件→设置→插件”中搜索①Alibaba Java Code Guidelines②Gitee并安装 -
安装mysql-installer-community-8.0.22.0
①仅安装Server即可(Server only)
②检测安装,可能会有一些依赖安装,按提示安装即可
③安装完会有配置,其中密码验证方式,必须选择传统验证(Legacy),强密码方式navicat无法连接
④root根用户密码要牢记,开发环境建议使用123456或654321,生产环境不要使用易于猜测的密码
⑤其他配置一般按默认即可
参考:https://www.modb.pro/db/53520 -
安装Navicat,并打补丁
①安装完成后打开navicat,点击连接输入root用户密码并连接到mysql
②创建practices数据库。字符集utf8 -- UTF-8 Unicode,排序utf8_bin -
接口测试工具
①一般的接口测试,请在Edge或Chrome上安装postwoman插件
②涉及到文件上传,需要安装和使用postman应用
③要测试接口需要提交复杂json作为参数时,可使用>>>在线json编辑器<<<
二.异常处理
-
定义错误页面
①添加首页(resources/templates/index.html)及相应Controller
--添加控制器注解
--添加index方法
--添加路由注解
②添加404和500页面
③运行测试,分别访问首页、制造错误访问其他两个页面 -
自定义错误处理
①添加自定义异常类(业务异常类BusinessException和资源不存在异常类NotFoundException)
②添加统一的异常处理类PracticeExceptionHandler
--使用ControllerAdvice注解把所有Controller作为切面统一提供错误处理功能
--添加专门处理业务异常的方法,使用ExceptionHandler注解
--添加通用的异常处理方法,使用ExceptionHandler注解
--还可使用ModelAttribute注解添加全局数据 -
自定义错误页面
①添加Thymleaf依赖
②完成error页面 -
接口专用错误处理类
①添加handlers文件夹,并添加专用于RESTful接口异常的处理类ApiExceptionHandler
②使用注解指定处理的类型为RestController
③在内部定义一个类型ExceptionWrapper专用于包装异常信息
④添加异常处理方法,同样使用ExceptionHandler注解,返回异常包装类对象
⑥在完成接口开发后,制造异常以测试该异常处理类
三.RESTful API开发规范
RESTful API 是一种基于 REST(Representational State Transfer)架构风格的 API 设计规范。它通过 HTTP 协议提供了一组标准的接口,使得客户端可以通过简单的 HTTP 请求与服务器进行通信。RESTful API 通常使用 JSON 或 XML 格式传输数据。
RESTful API 的设计理念是将资源作为核心概念,每个资源都有一个唯一的 URI(Uniform Resource Identifier)来标识。客户端通过对 URI 发送 HTTP 请求来访问资源,并可以执行 CRUD 操作(Create、Read、Update、Delete)。
RESTful API 具有以下特点:
1.统一接口:客户端和服务器之间的通信遵循一致的接口规范。
2.无状态性:每个请求都是独立的,不依赖于先前的请求。
3.可缓存性:响应可以被缓存以提高性能。
4.分层系统:客户端可以通过中间层进行间接通信。
5.按需编码:服务器可以根据客户端的需求返回特定的数据格式。
6.超媒体驱动:服务器通过返回链接来推动客户端的状态转移。
RESTful API 在互联网应用程序中广泛使用,它提供了一种简单而有效的方式,使得客户端可以与服务器进行通信,并实现数据的交换和处理。在开发 RESTful API 时,需要关注 URI 设计、HTTP 请求方法、资源的表现形式等方面,以确保接口符合 RESTful API 的设计规范和最佳实践。
四.搭建项目框架
-
创建项目
①使用Spring Initializer创建项目,建议使用IDE创建
//若官网start.sprint.io无法链接,可切换到阿里云镜像start.aliyun.com,但spring boot的版本可能存在差异
//可在官网页面创建,并无本质区别,IDE可检测jdk
②构建工具:Maven
//对于构建Java程序,Maven出现时间早,支持范围更广,使用xml编码更易阅读;Gradle支持增量构建,性能更强,使用groovy或kotlin语言,对于初学者有一定的要求
③JDK版本,根据个人安装的情况选择,本项目使用jdk1.8,Java语言版本8
//高级的语言版本具有更多的语言特性,尤其是集合API上,更方便易用,但新版本对于反射增加了限制,本项目的自定义授权机制因为要使用反射,因此选择8具备更高的灵活性
④打包方式Jar(官方推荐)
//spring boot内置了web容器,jar包直接运行;若已存在外部web容器可使用war打包
⑤spring boot版本(2.7.6),在官网当时提供的版本中选择,尽量选择发行版本
⑥选择依赖 -
相关配置文件
①pom.xml
//项目对象模型(Project Object Model)是Maven工程的基本工作单元,包含了项目的基本信息,用于描述项目如何构建,声明项目依赖。若需要添加其他依赖,可在pom中添加。
//pom文件中指定源码文件编码为UTF-8
//pom中配置maven打包跳过测试,或忽略测试失败
②application.yml
//application.properties→application.yml,应用程序配置文件的格式由properties修改为yml,yml文件的结构更为清晰
//yml中配置数据源,包括驱动类、数据库地址、用户名、密码等
//yml中配置数据库架构变化时的更新策略为update:必要时才更新。其他还有全部删除后更新、每次会话删除更新等。开发时配置为update;在项目部署后,可将该项配置为none,避免在生产数据库中更新造成数据丢失
//yml中配置jpa的show-sql为true,方便开发时在控制台查看和定位问题
③为不同的环境添加个性化的应用程序配置文件
//比如开发环境下的application-dev.yml和生产环境下的application-prd.yml,将共同的配置留在application.yml中
④不同环境的yml文件,指定个性化配置
//比如端口号生产环境80、开发环境8xxx,比如不同的数据源地址、用户名密码等
⑤在默认的yml配置文件中,指定当前生效的配置文件,只需要指定后缀 -
启动应用测试
①可在控制台看输出,出现Started XXXApplication in xxx seconds,表示运行成功
②可在yml中配置日志级别,开发时输出详细信息,生产环境根据需要记录关键信息
③应用启动并测试成功后,将创建的项目框架推送到远程仓库
五.Spring Boot框架,持久化框架Spring Data JPA的介绍
Spring Boot 是一个基于 Spring 框架的轻量级开发框架,而 Spring Data JPA 是 Spring Data 项目中的一部分,它提供了一种方便的方式来访问基于 JPA(Java Persistence API)的数据存储。
Spring Data JPA 的主要特点如下:
-
简化数据访问:Spring Data JPA 可以根据方法名称自动生成 SQL 语句,简化了数据访问的编写。
-
支持多种数据源:Spring Data JPA 支持多种数据源,例如 MySQL、Oracle、SQL Server 等。
-
提高代码复用性:Spring Data JPA 提供了一些通用的 CRUD 操作,可以减少代码的重复编写。
-
自定义查询:Spring Data JPA 可以通过注解或者 XML 文件定义自定义查询,提供了更灵活的数据访问方式。
-
支持事务:Spring Data JPA 可以与 Spring 框架的事务管理进行整合,提供了更可靠的事务支持。
使用 Spring Data JPA 需要进行以下配置:
-
引入相关依赖:在 pom.xml 文件中添加 Spring Data JPA 相关的依赖。
-
配置数据源:在 application.yml 或 application.properties 文件中配置数据源信息。
-
编写实体类:编写 JPA 实体类,并使用注解标记实体类及其属性。
-
编写 DAO 接口:编写 DAO 接口,继承 JpaRepository 接口,并定义自定义查询方法。
-
注入 DAO 接口:在需要使用 DAO 接口的地方,通过 @Autowired 注解注入 DAO 接口。
Spring Data JPA 提供了一种方便的方式来访问基于 JPA 的数据存储,可以使代码更加简洁和易于维护。同时,Spring Data JPA 还提供了一些高级特性,例如分页、排序、查询缓存等,使得数据访问更加灵活和高效。
六.使用gitee托管项目
-
个人开发Git流程
①安装git,可参考廖雪峰git教程
②为评分,码云账号要求必须显示真实姓名(可在设置→个人资料→姓名中修改)
③IDE中安装gitee插件,并在设置中配置git.exe路径、配置Gitee账号
------方式一------
④使用git clone命令将远程仓库克隆到本地
⑤使用IDE创建项目(将克隆的文件夹作为项目根目录)
------方式二------
④使用IDE创建项目
⑤初始化本地仓库,可使用git init命令或者IDE菜单中找到创建git仓库/Create Git Repository这样的命令(本地仓库要创建在你的项目根目录)
------------------
⑥提交文件至本地仓库(commit),提交信息(Commit Message)必须具有实际意义,能够描述本次提交的内容,评分时会对应代码进行检查
⑦将本次提交推送(push)到远程仓库(采用方式二,因为还未设置远程仓库,会弹出设置远程仓库的对话框,如果没有设置全局参数,可能还会要求填写账号名密码,一定要确认正确性,否则无法推送成功)
⑧如果远程仓库有新变化,可能会拒绝你的更新(如Updates were rejected because the tip of your current branch is behind...),可参考如下步骤
⑨git pull合并成功后,继续推送(push),则可将本地代码推送到远程仓库
七.web应用项目开发要注意的点
开发 web 应用项目时,有以下几个方面需要注意:
-
需求分析和规划:在开始项目开发之前,需要进行充分的需求分析和规划。明确项目的功能、目标用户、技术栈等,以便后续的开发工作能够有一个明确的方向。
-
安全性考虑:在 web 应用项目中,安全性是非常重要的。需要采取措施来防止常见的安全漏洞,例如跨站脚本攻击(XSS)、跨站请求伪造(CSRF)等。确保用户的信息和数据得到充分的保护。
-
用户体验:用户体验是影响 web 应用项目成功与否的关键因素之一。需要确保页面加载速度快、界面友好、操作简单直观,以提供良好的用户体验。
-
响应式设计:随着移动设备的普及,响应式设计已经成为 web 开发的标准。确保网站在不同设备上都能够自适应,并提供优秀的用户体验。
-
性能优化:性能是 web 应用项目的重要指标之一。需要对代码进行优化,减少不必要的网络请求、数据库查询等,提高系统的响应速度和吞吐量。
-
可维护性和可扩展性:在项目开发过程中,要考虑到项目的可维护性和可扩展性。合理划分代码模块、采用设计模式、编写清晰的文档等,以便项目后续的维护和扩展。
-
测试和调试:在项目开发过程中,要进行充分的测试和调试工作,确保项目的稳定性和正确性。可以采用单元测试、集成测试等方式进行验证。
-
版本控制和团队协作:使用版本控制系统(如 Git)来管理代码,方便团队成员之间的协作和代码的版本管理。
-
定期备份和监控:定期对项目数据进行备份,以防止数据丢失。同时,建立监控系统,及时发现和解决项目中出现的问题。
-
文档和知识分享:在项目开发完成后,编写详细的文档,以便后续维护和其他开发人员的参考。同时,可以将项目经验进行总结和分享,提高整个团队的技术水平。
以上就是项目开发的简单的总结