发布于: 2023-7-6最后更新: 2023-7-25字数 00 分钟

Spring

Spring guide: Spring | Guides

基本概念

spring和spring boot的详细介绍。
Spring是一个开源的Java框架,提供了一系列的组件和技术,用于构建企业级Java应用程序。Spring框架主要由核心容器(Core Container),数据访问集成(Data Access/Integration),Web应用(Web)和AOP(Aspect Oriented Programming)等模块组成,可以使Java开发更加简洁、高效、灵活。Spring的目标是促进开发高质量的Java应用程序,同时提倡良好的编码和设计实践。
Spring Boot是Spring框架的一个子项目,旨在提供一种快速、轻量级、简单易用的方式来构建基于Spring的应用程序。Spring Boot通过自动配置、预定义依赖、无需XML配置等特性,让开发者更加专注于业务逻辑,而不必花太多精力配置环境和编写样板代码。Spring Boot还提供了嵌入式Web服务器、Actuator监控支持等特性,让开发者能够更快地开启应用程序的开发、测试和部署流程。
Spring Boot有以下主要特点:
  1. 快速启动和开发。Spring Boot提供了嵌入式的Web服务器和预定义依赖,可以轻松创建和启动Spring应用程序。
  1. 自动配置。Spring Boot自动为常用的第三方库、框架等配置Beans,简化了应用程序的配置和启动
  1. 简单易用。Spring Boot的设计遵循"约定优于配置"的原则,提供了简洁的API和注解,让应用程序可以更快地编写和维护。
  1. 微服务支持。Spring Boot的设计非常适合微服务架构,提供了对多种云平台的支持和集成。
综上所述,Spring和Spring Boot都是为了更好地实现Java应用程序开发而存在的,各自有不同的特点和优势,适合于不同的开发场景和需求。
关于spring里 servlet and reactive
在Spring中,Servlet是使用传统的基于线程的模型处理请求和响应的一种方式,而Reactive是使用基于事件的异步模型处理请求和响应的一种方式。
Servlet处理方式:
  1. 传统的Servlet容器中使用线程池来为每个请求创建一个单独的线程处理。
  1. 处理过程中使用阻塞操作读取请求和写出响应。
  1. 当线程被分配时,它一直保持活动状态,直到响应发送回客户端为止。
  1. 这导致并发请求量受限于可用的CPU和内存资源。
Reactive处理方式:
  1. Reactive模型中,每个请求都在单个线程中进行处理。
  1. 当请求进入应用程序时,它被分配给可用线程池中的某个线程。
  1. 该线程会处理请求和响应,并在发出任何阻塞操作之前立即返回。
  1. 应用程序使用回调或RxJava等响应式编程库来处理响应。
  1. 这种处理方式非常适合高并发环境,可以轻松地支持数千个并发连接。
总之,Servlet和Reactive是两种不同的请求处理方式,在不同的场景下有不同的用途和优缺点。 Servlet适合处理单个请求,处理简单且短暂的任务,而Reactive适合处理大量的并发请求,能够更高效地利用系统资源,提高系统性能和吞吐量。

SpringBoot

记得使用SringBoot各种starter.

Spring Security

注意在文档其他地方的使用特定的API前,必须注意上述文章最开始获取Spring Security。通过SpringBoot获取即添加:
这里主要使用OAuth2库,对资源服务器jwt的支持。
所以引入依赖时:
或者:
重点:使用Spirng依赖时,记得SpringBoot启用自动化配置,即使用依赖相应的starter,格式为:Spring-boot-starter-xxx.
 
工作原理:
notion image
notion image
扩展:
使用Spring搭建授权服务器:入门 (springdoc.cn)

Mybatis

工程问题

maven

spring-boot-2提示的warning
 

Web前端
Web前端

本文介绍了JavaScript中的函数原型、扩展运算符、React Hooks和Ant Design等内容,同时也提到了一些工程问题的解决方案,如WebStorm的自动pretty和eslint、缓存问题等。


工程问题
工程问题

包含FLASK_SETTINGS_MODULE的设置规则,Fiddler调试中的SSL错误解决方法,Python项目遵循PEP8标准,pandas从数据库中读取数据时的大小写问题,Python异常处理中的try-catch问题,git cherry-pick的使用方法,以及pip install xx[extra]的用法。