SpringBoot进阶学习

1 SpingBoot综合应用分析

1.1业务需求分析及设计

从数据库查询所有活动(Active)信息,然后呈现在页面上(基于thymeleaf,标签应用参考官网thymeleaf.org)。并可以基于活动信息进行相关操作。对于软件开发人员在需求分析时通常会有这样的过程:
第一:需求调研(与软件使用人之间的一个沟通,了解业务)
第二:需求分析(对需要调研内容的总结和细化)
第三:原型设计(是对需求分析结果的更好体现)
第四:需求评审(签字确认,确认边界,确定业务模块)

1.2 系统架构分析及设计

如何了解架构设计?(所有的架构设计必须以业务为前提,脱离业务谈架构就是耍流氓)
第一:架构模式(CS/BS)
第二:单体架构,分布式架构,微服务架构?
第三:部署架构?(web服务器一台,数据库服务器一台,······)
第四:系统整体分层架构?(基础设施,操作系统,中间件,应用软件,接入层)
第五:软件应用的分层架构?(表示层,请求响应控制逻辑层,业务处理逻辑层,数据擦欧洲哦逻辑层,数据库)

1.3 业务代码分析设计

第一步骤:原型设计(省略)
第二步骤:数据库及表设计并初始化。(基于source指令去实现)
第三步骤:应用架构设计(MVC)
第四步骤:业务设计,API设计,时序设计?
第五步骤:POJO对象,数据层对象,业务层对象,控制层对象,表示层。

SpringBoot 综合实现

2.1 搭建项目初始环境

第一步:初始化数据库数据(命令行执行)
打开MySQL控制台,然后按如下步骤执行acitivty.sql文件:
1)登录musql

mysql -uroot -proot

2)设置客户端编码

set names utf8

第二步:创建SpringBootMaven项目
第三步:添加项目依赖(MySQL,jdbc,API,MyBatis,Spring web,Thymeleaf)
第四步:修改application.properties文件,进行资源配置
1)添加数据源配置(使用内置的HikariCP连接池)
2)添加mybatis配置
3)添加thymeleaf配置
代码如下:

#spring datasource
Spring.datasource.url=jdbc:mysql://dbactivty?server?serverTimezone=GMT%2B8&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=root
#spring mybatis
mybatis.mapper-locations=classpath:/mapper/*/*.xml
#spring web
spring.thymeleaf.prefix=classpath:/templates/pages/
#spring log
logging.level.com.companyname=debug

第五步:启动项目,检测是否启动OK

2.2 活动模块API设计

活动模块的API对象类型业务关系设计,如图所示:

在这里插入图片描述

2.3活动模块业务查询业务实现

2.3.1 业务时序分析

在这里插入图片描述

2.3.2 服务端实现

第一步:定义pojo对象(con.company.project.activy.pojo.Activity)
第二步:定义activityDao接口及方法
第三步:定义ActivityService接口及实现类
第四步:定义ActivityController对象及URL映射

2.3.3 客户端实现

第一步:定义activity.html页面
第二步:通过thymeleaf模板引擎活动数据呈现在页面上。

2.4活动模板添加业务实现

2.4.1 服务端实现

第一步:在ActivityDao中定义insertActivity(Activity entity)方法以及SQL映射
第二步:在ActivityService接口及实现类中添加saveActivity(Activity entity)
第三步:在ActivityController对象中添加doSaveActivity方法并定义URL映射

2.4.2 客户端实现

第一步:在页面中activity-add.html页面中引入两个js(jQuery, bootstrap)
第二步:在页面中添加form表单(用户填写用户数据)
第三步:在activity-add.html页面上添加添加按钮。
第四步:在表单中输入数据,然后点击保存按钮,将数据传递到服务器端。

2.5 活动模块修改表单数据的呈现

2.5.1 服务端实现

第一步:在ActivityDao中定义findById方法,基于活动id查询活动业务信息
第二步:在ActivityService及实现类中添加findById方法,基于活动id查询活动信息。
第三步:在ActivityController中定义doFindById方法,基于id获取活动id查询将其存储在作用域对象中,并定义url映射。

2.5.2 客户端实现

第一步:activity.html中修改按钮事件注册并定义事件处理函数
第二步:在修改按钮事件处理函数中向服务端发起请求基于id获取活动信息
第四步:将要修改的记录信息呈现在表单中并进行呈现。

2.6 活动模板修改操作中表单数据的提交。

2.6.1 服务端实现

第一步:ActivityDao中定义基于id更新活动信息的方法updateObject(Activity entity)
第二步:修改ActivityServiceImpl类中saveObject方法,基于的值进行添加或修改操作

2.7 活动模块删除操作实现

2.7.1 服务端实现

第一步:ActivityDao中定义基于id删除记录方法deleteById(Integer id);
第二步:ActivityService即实现类中定义deleteById(integer id)方法用于执行记录删除
第三步:ActivityController中定义doDeleteById(Integer id)方法用于处理删除请求

2.7.2 客户端实现

第一步:Activity.html中删除按钮事件注册及处理函数定义
第二步,在删除事件处理函数内部想向服务端发请求执行删除操作。

3 Spring Boot 应用加强实现

3.1 健康检查配置测试

在SpringBoot中提供了一个Actuator模块,基于此模块可以实现对象项目的健康检查可监控功能,假如需要使用此模块功能,可以:
在项目中添加actuator依赖:

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-srarter=actuator</artifactId>
</dependency>

健康检查分析(重启项目):
在浏览器中输出如下地址:(SpringBoot默认打开的监控选项有限)
http://localhost/actuator
还可以在actuator列出选项中进行点击或在浏览器世界输入访问如下地址:
http://localhost/actuator/health
假如希望看更多actuator选项,可以在spring boot配置文件application。properties中添加如下语句:(生产环境不加)

management.endpoints.web.exposure.include=*

此时在浏览器地址栏可以输入:http://localhost/actuator/beans查看所有的spring容器中的bean信息。
说明:还可以直接在sts工具中的Boot Dashboard中选中项目(项目必须已启动)查看其属性(show properties)这种方式重点掌握。

3.2 热不是配置及实现

基于Spring Web项目,修改某个类以后,默认不会重新自动部署和加载,需要我们手动重启服务器。假如我们希望项目可以自动部署,可以添加如下依赖,进行热部署实现:

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-devttools</artifactId>
	<scope>runtime</scope>
</dependency>

说明:当我们修改src/main/java目录下面的Java文件或修改src/main/resources目录下的配置文件时,默认都会启动你的服务器,但是修改了测试来或HTML文件不会自动重启和部署。

3.3 Lombok插件应用

Lombok是一个第三方库,可以基于lombok中提供的API,在程序编译时自动织入一些方法。这样做的话可以简化我们对某些方法的编写,例如:省略pojo类中的set方法,get方法,toString等方法的编写。我们的Java程序可以在编译时,通过lombok自动将这些方法添加到.class文件中,其应用步骤如下:
第一步:添加依赖。

<dependency>
	<groupId>org.projectlombok</groupId>
	<artifactId>lombok</artifactId>
</dependency>

第二步:找到下载的lombok.jar依赖所在的位置。
第三步:启动操作类系统命令行客户端,并切换到lombok-xxx.jar文件所在的目录,然后利用java-jar指令启动lombok插件。
安装成功以后可在STS工具的根目录看到一个lombok.jar文件,同时会在SpringToolSuite.ini文件中的尾部添加lombok.jar文件所在的具体路径。
说明:安装成功以后重启sts工具(假如安装成功以后再次启动sts,此时无法启动,可能与sts所在的目录有关系,可能将安装目录下的lombok文件拷出到特定目录,然后修改SpringToolS4.ini文件的最后一行的lombok.jar路径即可,同时在配置文件中也不可能有空格)。
lombok常用注解分析:
·@Setter用于为描述的来生成setter方法,不包含final修饰属性
·@Getter用于描述的类生成Getter方法。
·@ToString
·@EqualsAndHashCode
·@NoArgsConstrutor
·@AllArgsConstructor
·@Data
·@SIf4J

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于Spring Boot的高级进阶,以下是一些建议和主题: 1. 微服务架构:学习如何将应用程序拆分成多个小型、可独立部署的微服务,并使用Spring Cloud、Netflix OSS等技术栈来实现服务发现、负载均衡、断路器等功能。 2. 高性能优化:深入了解Spring Boot的底层原理,包括自动配置、Bean的生命周期、依赖注入等,并学习如何通过调整配置、使用缓存、异步处理等技术来提高应用程序的性能。 3. 安全性和认证授权:掌握Spring Security框架,学习如何使用它来实现身份验证、权限控制、跨站点请求伪造(CSRF)防护等功能。 4. 数据访问和持久化:学习使用Spring Data JPA、Hibernate或MyBatis等技术来简化数据访问层的开发,了解如何优化数据库查询、实现数据缓存等。 5. 高可用和容错:学习如何使用分布式缓存、消息队列等技术来实现高可用性和容错性,以确保应用程序在面对故障和负载增加时仍然能够正常工作。 6. 监控和日志:学习如何使用Spring Boot Actuator来监控应用程序的性能指标、健康状况等,使用ELK(Elasticsearch、Logstash和Kibana)等工具来集管理和分析日志。 7. 部署和扩展:了解如何使用Docker容器化应用程序,并学习如何使用容器编排工具(如Kubernetes)来部署、扩展和管理Spring Boot应用程序。 除了以上主题,还可以深入学习Spring Boot的其他特性和相关技术,如Spring Boot Starter、Actuator、WebFlux等,以及Spring Cloud全家桶的各个组件。不断学习并实践这些知识,将能够更好地开发和部署高性能、可靠的Spring Boot应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值