
Spring Boot
文章平均质量分 83
这孩子叫逆
要么不做,要么做好
展开
-
微服务组件Nacos注册中心
一个更易于构建云原生应用的动态服务发现(Nacos Discovery )、服务配置(Nacos Config)和服务管理平台。集注册中心+配置中心+服务管理平台服务发现和服务健康监测动态配置服务动态 DNS 服务服务及其元数据管理2. Nacos注册中心管理所有微服务、解决微服务之间调用关系错综复杂、难以维护的问题。2.1 注册中心演变及其设计思想在这里插入图片描述2.2 核心功能。原创 2024-11-01 21:31:11 · 785 阅读 · 0 评论 -
Spring Boot 的核心特性有哪些?
Spring Boot 通过自动配置、内嵌服务器、起步依赖等核心特性,大大简化了 Spring 应用的开发过程。它为开发者提供了一个统一的开发平台,涵盖了从开发到测试、部署、监控等各个方面的需求,成为现代 Java 应用开发的主流选择之一。原创 2024-10-31 20:08:39 · 1100 阅读 · 0 评论 -
提升单体springboot的并发数的8个小技巧
通过上述8个技巧,我们可以有效提升SpringBoot单体应用的并发处理能力。记得,并发优化是一个持续的过程,需要根据实际情况调整和优化。希望这篇文章能给你带来帮助,让你的SpringBoot应用在面对高并发挑战时更加从容不迫。原创 2024-10-29 21:58:20 · 357 阅读 · 0 评论 -
SpringBoot中通过8项配置优化提升Tomcat性能
SpringBoot应用程序警用优化。例如,禁用不必要的自动配置可以节省资源。调整Tomcat可用的线程数可以帮助有效地处理更多并发请求。调整连接设置可以改善 Tomcat 处理传入连接的方式。启用压缩可以减少通过网络发送的数据量,从而缩短响应时间。确保您的应用程序是安全的,以防止资源滥用和攻击。调整保持活动设置可以帮助更有效地管理连接。配置访问日志可以帮助监控和分析请求模式。JVM配置垃圾收集和内存管理的最佳设置。4. Keep-Alive 配置。7. Spring Boot配置。原创 2024-10-29 14:09:28 · 800 阅读 · 0 评论 -
远程调用的几种常见方式
它通过发送和接收消息来实现系统之间的通信。RPC是一种远程调用协议,最经典的框架就是dubbo,在老一些的分布式系统中dubbo还是很常用的,RPC最明显的优点就是使用简单,它屏蔽了底层通信细节,允许客户端直接调用服务器上的函数或服务,在形式上可以像调用本地函数或服务一样去调用远程的函数或服务,使用过dubbo的应该对此深有感触,这也是其区别于HTTP的重要之处。这里说的远程调用指的是进程间的交互,我们常用的前后端通过HTTP接口发起的网络请求也是属于远程调用,那么,除了HTTP外,还有哪些常见方式呢?原创 2024-10-23 19:21:24 · 271 阅读 · 0 评论 -
SpringBoot动态加载pdf
iText 7 是 iText 软件的一个主要版本,它是一个用于处理 PDF 文档的强大 Java 库。iText 7 提供了一系列的功能,使得开发者能够创建、修改、合并、分割、保护和转换 PDF 文件。与之前的版本相比,iText 7 在架构上进行了重大改进,并且增加了许多新特性。3.1、模块化架构。原创 2024-10-23 15:39:08 · 909 阅读 · 0 评论 -
Spring是如何解决循环依赖的
循环依赖:一个或多个对象实例之间存在直接或间接的依赖关系,这种依赖关系构成了构成一个环形调用。第一种情况:自己依赖自己的直接依赖第二种情况:两个对象之间的直接依赖第三种情况:多个对象之间的间接依赖Spring 处理循环依赖的方式:有构造器注入,不一定会产生问题,具体得看是否都是构造器注和 BeanName 的字母序;如果单纯为了打破循环依赖,不需要三级缓存,两级就够了;三级缓存是否为延迟代理的创建,尽量不打破 Bean 的生命周期。原创 2024-10-21 09:45:16 · 798 阅读 · 0 评论 -
快递100,快递100单号实时在线查询
快递100登录。原创 2024-10-19 14:37:04 · 303 阅读 · 0 评论 -
SpringBoot之事件监听
这个事件在当 Spring 应用上下文(ApplicationContext)准备好了,并且应用初始化器(ApplicationContextInitializers)已经被调用,在 bean 的定义(bean definitions)被加载之前发送。这个事件在当已知要在上下文中使用 Spring 环境(Environment)时,在 Spring 上下文(context)创建之前发送。这个事件紧随上个事件之后发送,状态:ReadinessState.CORRECT,表示应用已处于活动状态。原创 2024-10-19 14:06:33 · 442 阅读 · 0 评论 -
pdmaner数据建模的使用(数据库建模,逆向生成各个业务代码)
PDManer基于ES6+React+Electron+Java构建,技术架构设计合理。自发布以来,PDManer经历了多个版本的迭代更新,不断优化和提升用户体验。例如,PDManer v4.1.0版本就增加了字段扩展属性、优化了表头设置、改进了启动界面和系统设置等。原创 2024-10-18 17:20:24 · 2423 阅读 · 0 评论 -
Logback日志配置
在Spring Boot中,日志组件的设计遵循了门面模式(Facade Pattern)的概念。门面模式是一种结构型设计模式,它提供了一个统一的接口来访问子系统中的一群接口。这可以简化客户端与子系统之间的交互,同时提供了一层抽象,使系统更加灵活和易于维护。在日志处理方面,Spring Boot使用SLF4J(Simple Logging Facade for Java)作为门面。SLF4J是一个抽象层,它为Java平台上的多种日志框架提供了一个统一的接口。原创 2024-10-17 22:02:35 · 494 阅读 · 0 评论 -
Spring Task 掌握 定时任务
Spring Task 是 Spring 框架的一个组件,它为任务调度提供了支持,使得开发者能够创建后台任务或定期执行的任务。通过 Spring Task,您可以方便地在 Java 应用程序中实现定时任务,比如每天凌晨进行数据同步、每小时执行一次清理操作等。原创 2024-10-09 20:59:26 · 614 阅读 · 0 评论 -
SpringBoot统一日志框架
在 Spring Boot 的配置文件 application.porperties/yml 中,可以对日志的一些默认配置进行修改,但这种方式只能修改个别的日志配置,想要修改更多的配置或者使用更高级的功能,则需要通过日志实现框架自己的配置文件进行配置。Spring 官方提供了各个日志实现框架所需的配置文件,用户只要将指定的配置文件放置到项目的类路径下即可。原创 2024-10-09 17:11:17 · 1154 阅读 · 0 评论 -
SpringBoot 手写 Starter
springboot 官方建议springboot官方推出的starter 以spring-boot-starter-xxx的格式来命名,第三方开发者自定义的starter则以xxxx-spring-boot-starter的规则来命名,事实上,很多开发者在自定义starter的时候往往会忽略这个东西。自定义一个登录拦截的启动器,authority-spring-boot-starter。原创 2024-10-08 21:59:59 · 736 阅读 · 0 评论 -
Spring AOP 面向切面编程
Spring AOP(Aspect-Oriented Programming,面向切面编程)是Spring框架中的一个核心功能,用于在应用程序中实现横切关注点(cross-cutting concerns)的模块化。在传统的面向对象编程(OOP)中,横切关注点(如日志记录、性能监控、事务管理、安全控制等)往往散布在整个代码库中,导致代码的复用性和可维护性下降。AOP提供了一种将这些关注点从它们所服务的业务逻辑中分离出来的方式。切面(Aspect)切面是描述横切关注点的模块。它封装了影响多个类的行为。原创 2024-10-08 21:53:06 · 1539 阅读 · 0 评论 -
Spring Boot 拦截器HandlerInterceptor
在 Spring Boot 中定义拦截器十分的简单,只需要创建一个拦截器类,并实现 HandlerInterceptor 接口即可。HandlerInterceptor 接口中定义以下 3 个方法,如下表。返回值类型方法声明描述boolean该方法在控制器处理请求方法前执行,其返回值表示是否中断后续操作,返回 true 表示继续向下执行,返回 false 表示中断后续操作。void该方法在控制器处理请求方法调用之后、解析视图之前执行,可以通过此方法对请求域中的模型和视图做进一步修改。原创 2024-10-08 21:45:49 · 1104 阅读 · 0 评论 -
Spring Boot注册Web原生组件(注册Servlet,过滤器filter,监听器Listener)
由于 Spring Boot 默认以 Jar 包方式部署的,默认没有 web.xml,因此无法再像以前一样通过 web.xml 配置来使用 Servlet 、Filter、Listener,但 Spring Boot 提供了 2 种方式来注册这些 Web 原生组件。通过组件扫描注册使用 RegistrationBean 注册。原创 2024-10-08 15:31:20 · 1171 阅读 · 0 评论 -
Spring事务失效的八种情况
在开发 Java 企业应用程序时,事务管理是一个关键的部分。Spring 提供了强大的事务管理功能,但如果使用不当,事务可能会失效,导致数据不一致。本文将介绍 Spring 事务失效的常见场景,帮助开发者避免这些坑。原创 2024-10-08 10:57:33 · 933 阅读 · 0 评论 -
SpringBoot 访问数据库
对于数据访问层,无论是 SQL(关系型数据库) 还是 NOSQL(非关系型数据库),Spring Boot 都默认采用整合 Spring Data 的方式进行统一处理,通过大量自动配置,来简化我们对数据访问层的操作,我们只需要进行简单的设置即可实现对书层的访问。原创 2024-10-08 10:45:44 · 636 阅读 · 0 评论 -
SpringBoot 多元化配置(正则表达式,配置文件优先级)
Value 与 @ConfigurationProperties 对比@Value 和 @ConfigurationProperties 注解都能读取配置文件中的属性值并绑定到 JavaBean 中,但两者存在以下不同。@Value位置不同JavaBean类名上JavaBean属性上功能批量属性注入单值绑定松散绑定(松散语法)支持部分支持Spel不支持支持复杂类型封装支持支持,比较繁琐JSR303数据校验支持不支持应用场景不同。原创 2024-10-06 20:08:28 · 1637 阅读 · 1 评论 -
SpringFactoriesLoader与SPI(服务提供接口)
SpringFactoriesLoader类的主要作用是通过类路径下的文件获取工厂类接口的实现类,初始化并保存在缓存中,以供Springboot启动过程中各个阶段的调用。Spring的自动化配置功能,也与此息息相关。工厂加载机制是Spring内部提供的一个约定俗成的加载方式,只需要在模块的文件中,以Properties类型(即key-value形式)配置,就可以将相应的实现类注入Spirng容器中。Propertieskey:valuekey:是全限定名(抽象类|接口)原创 2024-10-06 15:01:32 · 714 阅读 · 0 评论 -
SpringBoot 自动配置原理
SpringBoot启动会加载大量的自动配置类先看我们需要的功能有没有SpringBoot默认写好的自动配置类再来看这个自动配置类中到底配置了哪些组件(只要我们要用的组件有,我们就不需要再来配置了)给容器中自动配置类添加组件的时候,会从properties类中获取某些属性。我们就可以在配置文件中指定这些属性的值xxxxAutoConfigurartion:自动配置类;给容器中添加组件;xxxxProperties:封装配置文件中相关属性;原创 2024-10-06 14:54:20 · 926 阅读 · 0 评论 -
Spring boot 常用注解
包含@Configuration、@EnableAutoConfiguration、@ComponentScan通常用在启动类上。用于标注数据访问组件,即DAO组件。用于标注业务层组件。用于标注控制层组件(如struts中的action),包含@Controller和@ResponseBody表示该方法的返回结果直接写入HTTP response body中一般在异步获取数据时使用,在使用@RequestMapping后,返回值通常解析为跳转路径,加上@responsebody后返回结果不会被解析。原创 2024-10-06 14:44:18 · 926 阅读 · 0 评论 -
SpringBootApplication注解解析(自动配置原理)
虽然它的定义使用了多个 Annotation 进行元信息标注,但实际上对于 SpringBoot 应用来说,重要的只有三个 Annotation,而“三体”结构实际上指的就是这三个 Annotation:@Spation但每次都写三个 Annotation 显然过于繁琐,所以写一个 @SpringBootApplication 这样的一站式复合 Annotation 显然更方便些。原创 2024-10-06 14:39:14 · 660 阅读 · 0 评论 -
认识Spring Boot Start(基于Spring Boot自动装载原理)
传统的 Spring 项目想要运行,不仅需要导入各种依赖,还要对各种 XML 配置文件进行配置,十分繁琐,但 Spring Boot 项目在创建完成后,即使不编写任何代码,不进行任何配置也能够直接运行,这都要归功于 Spring Boot 的 starter 机制。原创 2024-10-06 14:33:56 · 1072 阅读 · 0 评论