Spring
文章平均质量分 70
Spring
Java杨永杰
Java架构师,想要学习的技术点可以在评论区哦,会更新文章的~
展开
-
Java-RestTemplate介绍
Java-RestTemplate是Spring框架中的一个类,用于发送HTTP请求并与RESTful服务进行交互。它提供了一种简单且方便的方式来调用远程的RESTful服务,并对响应进行处理。RestTemplate提供了多种方法来发送不同类型的请求(GET,POST,PUT,DELETE等),并支持将请求参数和请求体与URL进行绑定。它还可以处理不同的响应类型(JSON,XML等),并将响应转换为Java对象。原创 2024-01-05 13:43:25 · 2058 阅读 · 0 评论 -
Spring-FactoryBean介绍
Spring的FactoryBean是一种特殊的Bean,它用于创建其他Bean的实例。FactoryBean接口定义了一个工厂类,该工厂类负责创建目标类的实例。使用FactoryBean可以实现更为灵活的Bean创建方式,可以在实例化Bean之前进行一些操作,比如设置一些默认值、对实例进行一些初始化等。同时,FactoryBean还可以支持单例模式和原型模式,通过设置isSingleton属性来控制。原创 2023-12-29 17:11:38 · 840 阅读 · 2 评论 -
Spring-DefaultListableBeanFactory介绍
Spring-DefaultListableBeanFactory是Spring Framework中的一个核心类,用于实现Bean的管理和依赖注入功能。DefaultListableBeanFactory是BeanFactory的一个具体实现类,它继承自AbstractAutowireCapableBeanFactory并实现了ListableBeanFactory和BeanDefinitionRegistry接口。它的主要作用是通过读取和解析Bean定义信息来创建和管理Bean实例。原创 2023-12-28 13:45:22 · 921 阅读 · 0 评论 -
Spring-BeanDefinition介绍
Spring中的BeanDefinition是用于描述和定义Spring容器中的Bean的元数据。原创 2023-12-28 08:47:31 · 899 阅读 · 0 评论 -
Spring-ConfigurableEnvironment介绍
Spring-ConfigurableEnvironment是Spring Framework中的一个接口,用于支持在不同的环境中配置应用程序的属性值。应用程序的属性值通常包括数据库连接信息、日志级别、缓存策略等等。在不同的环境中,这些属性值往往会发生变化,例如在开发环境中使用一个数据库连接,在生产环境中使用另一个数据库连接。使用Spring-ConfigurableEnvironment可以方便地管理这些属性值。原创 2023-12-28 08:41:21 · 863 阅读 · 0 评论 -
Java-监听器介绍
在Java中,监听器是一种设计模式,用于监视和响应对象的状态变化或事件的发生。监听器通常用于图形用户界面(GUI)应用程序中,以便在用户与界面进行交互时触发相应的事件。Java中的监听器由两个主要部分组成:事件源和事件监听器。事件源是能够产生事件的对象,而事件监听器是能够接收并处理事件的对象。事件源对象通常会注册一个或多个事件监听器来监听特定类型的事件。当事件源对象发生事件时,它将通知所有注册的监听器,并将事件对象传递给它们。监听器可以根据事件对象中的信息来执行相应的操作。原创 2023-12-27 16:10:05 · 998 阅读 · 0 评论 -
Spring 中BeanPostProcessor 和BeanFactoryPostProcessor对比
Spring后置处理器是一种机制,用于在某个Bean对象的初始化过程中执行额外的逻辑操作。它们可以在Bean对象的初始化之前或之后对其进行一些自定义的处理。原创 2023-12-27 08:42:08 · 1063 阅读 · 0 评论 -
SpringMvc相关方法介绍
Spring MVC是一个基于Java的Web框架,提供了一系列方法来处理和管理HTTP请求和响应。原创 2023-12-27 08:34:20 · 884 阅读 · 0 评论 -
Spring-@RestControllerAdvice注解
RestControllerAdvice注解是Spring框架提供的一个注解,用于定义全局异常处理和全局数据绑定。通常用于在一个类上定义异常处理方法,这些方法可以处理所有控制器中抛出的异常。@RestControllerAdvice注解通常与@ExceptionHandler注解一起使用,@ExceptionHandler注解用于定义处理特定异常的方法。原创 2023-12-25 11:50:41 · 823 阅读 · 0 评论 -
Spring循环依赖
循环依赖是指两个或多个模块之间相互依赖,形成一个循环的情况。在 Spring 中,循环依赖是指两个或多个 Bean 之间相互依赖,导致无法完成 Bean 的初始化。原创 2023-12-21 14:21:35 · 742 阅读 · 0 评论 -
Spring4新特性——JSR310日期时间API的支持
JSR 310是Java的Java Specification Request 310,是Java SE 8中新增加的日期时间API。它提供了处理日期和时间的新方式,该API比以前的API更加方便、直观和易于使用。JSR 310是Java SE 8的一个重要特性,它使得Java中的日期和时间处理更加简单和高效。时钟,类似于钟表的概念,提供了如系统时钟、固定时钟、特定时区的时钟提供了对java.util.Date的替代,另外还提供了新的DateTimeFormatter用于对格式化/解析的支持。原创 2023-12-01 16:56:05 · 837 阅读 · 0 评论 -
Spring由哪些模块组成?
spring Web:提供了针对 Web 开发的集成特性,例如文件上传,利用 servlet listeners 进行 ioc 容器初始化和针对 Web 的 ApplicationContext。spring core:提供了框架的基本组成部分,包括控制反转(Inversion of Control,IOC)和依赖注入(Dependency Injection,DI)功能。spring jdbc:提供了一个JDBC的抽象层,消除了烦琐的JDBC编码和数据库厂 商特有的错误代码解析, 用于简化JDBC。原创 2023-11-30 13:59:31 · 387 阅读 · 0 评论 -
如何重新加载 Spring Boot 上的更改,而无需重新启动服务器?Spring Boot项目如何热部署?
然后,在IDEA中打开自动编译功能,勾选“Build project automatically”(Build菜单 -> Build project automatically)。最后,在IDEA中通过快捷键Ctrl + Shift + F9或者点击Run菜单 -> Debug 'Application'来启动程序。在修改代码后保存,程序会自动进行热部署。需要注意的是,热部署只能重新加载class文件,不能新增或删除类。如果需要新增或删除类,则需要重启应用程序。原创 2023-11-30 10:33:33 · 586 阅读 · 0 评论 -
Spring Profiles如何配置?如何运行程序?
Spring Profiles 允许用户根据配置文件(dev,test,prod 等)来注册 bean。因此,当应用程序在开发中运行时,只有某些 bean 可以加载,而在PRODUCTION中,某些其他 bean 可以加载。Spring Profiles是Spring Framework的一项功能,它允许在不同环境下使用不同的配置。开发人员可以针对特定的环境(如开发、测试、生产)创建不同的配置文件,并在应用程序启动时指定要使用的配置文件。这样,应用程序可以在不同的环境中使用不同的配置,无需手动更改代码。原创 2023-11-30 10:28:16 · 356 阅读 · 0 评论 -
Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的?
启动类上面的注解是@SpringBootApplication,它也是 Spring Boot 的核心注解。:组合了 @Configuration 注解,实现配置文件的功能。:Spring组件扫描。原创 2023-11-27 19:51:56 · 330 阅读 · 0 评论 -
Springboot如何修改端口号
如果没有在yml或者Properties文件中设置端口,默认8080,因为Springboot内置Tomcat,Tomcat默认端口是8080。原创 2023-11-27 15:36:04 · 638 阅读 · 0 评论 -
SpringBoot启动完成之后如何自动执行业务?底层如何实现的?
如果我们想在SpringBoot之后立即做一些什么业务处理,就可以实现SpringBoot提供的这个俩个接口去完成。注意是,也就意味着你可以在这个接口里面使用SpringBoot提供的所有功能了,这两个接口是。原创 2023-11-27 13:44:39 · 368 阅读 · 0 评论 -
Spring Boot 中如何解决跨域问题 ?
跨域可以在前端通过 JSONP 来解决,但是 JSONP 只可以发送 GET 请求,无法发送其他类型的请求,在 RESTful 风格的应用中,就显得非常鸡肋,因此我们推荐在后端通过 (CORS,Cross-origin resource sharing) 来解决跨域问题。原创 2023-11-26 18:08:27 · 340 阅读 · 0 评论 -
Spring Boot 有哪些优点?(面试篇)
8、基于环境的配置 使用这些属性,您可以将您正在使用的环境传递到应用程序:-Dspring.profiles.active = {enviornment}。在加载主应 用程序属性文件后,Spring 将在(application{environment} .properties)中加载后续的应用程序属性文件。7、需要更少的配置 因为没有 web.xml 文件。只需添加用@ Configuration 注释的类,然后添加用@Bean 注释的方法,Spring 将自动加载 对象并像以前一样对其进行管理。原创 2023-11-26 16:35:07 · 342 阅读 · 0 评论 -
OpenFeign 日志打印功能
Feign 提供了日志打印功能,我们可以通过配置来调整日志级别,从而了解 Feign中 Http 请求的细节,说白了就是对 Feign 接口的调用情况进行监控和输出。原创 2023-11-26 16:28:13 · 606 阅读 · 0 评论 -
OpenFeign 的超时设置
服务提供者需要超过 3 秒才能返回数据,但是服务调用者默认只等待 1 秒,这就会出现超时问题。原创 2023-11-26 16:23:22 · 478 阅读 · 0 评论 -
为什么Spring不推荐使用@Autowired注解
使用@Autowired注解时,Idea会给我们一个警告不建议使用字段注解。原创 2023-11-24 13:55:42 · 551 阅读 · 0 评论 -
Spring 如何开启事务?
Spring主要分为编程式事务和声明式事务两种。Spring事务在Spring中的关系。原创 2023-11-24 10:12:40 · 404 阅读 · 0 评论 -
SpringCloud -Token传递之Feign
gatewaytokenuserIdheadergatewaytokentoken现在有一个从 A 服务调用 B 服务接口的内部调用业务场景,无论是哪种方案我们都需把header从 A 服务传递到 B 服务。原创 2023-11-17 14:51:27 · 938 阅读 · 0 评论 -
Spring Bean 作用域
目录前言singletonprototyperequestsessionglobal Session:原创 2023-11-23 15:40:04 · 312 阅读 · 0 评论 -
Spring的事务传播机制
事务传播行为主要用来描述由某一个事务传播行为修饰的方法被嵌套进另一个方法的事务中,该事务如何传播。这个概述可能不好理解,换句话就是当一个事务方法被另一个事务方法调用时,这个事务方法应该如何进行。原创 2023-11-21 14:48:42 · 49 阅读 · 0 评论 -
Nacos AP和CP的使用场景
Nacos可以根据配置识别为CP模式或AP模式,默认是AP模式。原创 2023-11-20 09:45:23 · 635 阅读 · 0 评论 -
Springboot 优化内置服务器Tomcat优化(underTow)
通过org.springframework.boot.autoconfigure.web.ServerProperties查看,其中包括属性tomcat、、undertow三种服务器的设置,默认启用tomcat。原创 2023-11-20 09:28:31 · 2110 阅读 · 0 评论 -
Nacos 配置中心底层原理(1.X版本)
nacos 1.x长轮询nacos 2.xGRPC。原创 2023-11-18 09:15:32 · 162 阅读 · 0 评论 -
SpringCloud 2022有哪些变化
Spring Cloud 2022.0.0是构建在Spring Framework 6.0和Spring Boot 3.0 之上的一S个主要版本。更小的程序体积:AOT编译可以将程序的动态链接库全部编译成静态链接库,从而减少程序的体积。编译后程序的执行速度更快:编译好的程序直接使用机器码运行,比源代码的解释运行更快。更加安全:AOT编译过的程序可以避免反编译,从而更加安全。原创 2023-11-19 09:45:04 · 637 阅读 · 0 评论 -
Spring 如何自己创建一个IOC 容器
IOC(Inversion of Control),意思是控制反转,不是什么技术,而是一种设计思想,IOC意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。1、先准备一个基本的容器对象,包含一些map结构的集合,用来方便后续过程中存储具体的对象2、进行配置文件的读取工作或者注解的解析工作,将需要创建的bean对象都封装成BeanDefinition对象存储在容器中3、容器将封装好的BeanDefinition对象通过反射的方式进行实例化,完成对象的实例化工作4、进行对象的初始化操原创 2023-11-17 15:05:38 · 299 阅读 · 0 评论 -
SpringCloud 之Feign的性能优化
Feign底层默认是JDK良带的HttpURLConnection,它是单线程发送HTTP请求的,不能配置线程池,我们使用Okhttp或者HttpClien 朵发送http请求,并且它们两个都支持线程池。HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 Http协议的客户端编程工具包,并且它支持 HTTP 协议最新版本和建议。HttpClient 相比传统JDK 自带的URLConnection,提升了易用性和灵活性,使客户端发送 HT原创 2023-11-17 14:38:17 · 104 阅读 · 0 评论 -
SpringBoot和Spring的区别是什么?
Spring是一个非常强大的企业级Java开发框架,Spring 框架为开发 Java 应用程序提供了全面的基础架构支持。它包含一些很好的功能,如依赖注入和开箱即用的模块,如:Spring JDBC 、Spring MVC 、Spring Security、 Spring AOP 、Spring ORM 、Spring Test ,提供了一系列模块来支持不同的应用需求,如依赖注入、面向切面编程、事务管理、Web应用程序开发等。原创 2023-11-17 13:47:17 · 86 阅读 · 0 评论