
Spring学习笔记
文章平均质量分 67
LuckyLay
这个作者很懒,什么都没留下…
展开
-
Spring学习笔记_50——@CrossOrigin
CrossOrigin是Spring Framework中的一个注解,用于处理跨域资源共享(Cross-Origin Resource Sharing, CORS)问题。原创 2024-11-25 22:10:21 · 3011 阅读 · 0 评论 -
Spring学习笔记_49——@ResponseBody
在介绍注解时,提到了注解,注解同时具备注解和注解的功能。是 Spring MVC 中的一个非常有用的注解,它用于将控制器(Controller)方法的返回值直接写入 HTTP 响应体(response body)中,而不是解析为视图(View)的名称。这在开发 RESTful Web 服务时尤其常见,因为通常我们需要返回 JSON 或 XML 等格式的数据,而不是视图。原创 2024-11-25 22:07:59 · 360 阅读 · 0 评论 -
Spring学习笔记_48——@SessionAttribute
注解作用于处理器类上,它允许开发者有选择地指定哪些模型属性需要存储到HTTP会话(Session)中,以便在多个请求之间共享这些数据。这通常用于需要跨多个页面或请求保持数据一致性的场景,如多步骤表单处理或向导式用户界面。注解指定属性名称就可以直接从当前Session的作用域中获取指定属性名称的值,Model:用于在控制器和视图之间传递数据。Session:用于在多个请求之间保持状态信息,数据存储在服务器端。Cookie:用于在客户端浏览器中存储少量数据,数据存储在客户端。原创 2024-11-24 23:21:28 · 908 阅读 · 0 评论 -
Spring学习笔记_47——@RequestAttribute
注解用于将Web请求的属性注入到控制器方法的参数中。这些属性可能是在请求处理过程中的某个阶段,如过滤器或拦截器中设置的。通过该注解,开发者可以方便地访问这些请求属性,而无需手动从对象中获取。原创 2024-11-24 23:17:58 · 888 阅读 · 0 评论 -
Spring学习笔记_46——@InitBinder
是 Spring MVC 框架中的一个注解,用于在控制器(Controller)中初始化 WebDataBinder 对象。WebDataBinder 是 Spring MVC 用来绑定请求参数到 JavaBean 对象(即模型对象)的工具,同时也支持数据校验和格式化等功能。通过注解的方法,开发者可以在请求处理之前对 WebDataBinder 进行自定义配置,比如添加自定义的编辑器(PropertyEditor)或转换器(Converter),或者注册自定义的验证器(Validator)。原创 2024-11-23 22:50:53 · 496 阅读 · 0 评论 -
Spring学习笔记_45——@ControllerAdvice
是 Spring MVC 中一个非常有用的注解,它提供了一种全局配置的方式来处理控制器中的横切关注点(cross-cutting concerns)。这些横切关注点通常包括异常处理、数据绑定、数据预处理和后处理等。通过,你可以将这些通用的逻辑从具体的控制器中抽离出来,使代码更加整洁和易于维护。原创 2024-11-23 22:45:39 · 349 阅读 · 0 评论 -
Spring学习笔记_44——@ModelAttribute
是 Spring MVC 框架中的一个注解,用于在控制器(Controller)中处理方法参数或返回值。这个注解可以将请求参数(Request Parameters)或者路径变量(Path Variables)绑定到模型(Model)中的对象,或者直接将对象添加到模型中。它对于构建表单处理、数据预填充等场景非常有用。原创 2024-11-21 22:14:32 · 1119 阅读 · 0 评论 -
Spring学习笔记_43——@ExceptionHandler
是 Spring 框架中用于处理控制器方法中发生的异常的一个注解。它允许开发者定义一个或多个方法来集中处理由控制器内方法抛出的特定异常类型。通过这种方式,可以将错误处理逻辑与业务逻辑分离,使得代码更加清晰、易于维护。原创 2024-11-21 22:08:30 · 207 阅读 · 0 评论 -
Spring学习笔记_42——@CookieValue
注解是 Spring Framework 中的一个注解,用于从 HTTP 请求中的 Cookie 中提取值并将其绑定到控制器方法的参数上。这个注解在开发基于 Spring MVC 的 Web 应用时非常有用,因为它允许开发者方便地访问和操作客户端发送到服务器的 Cookie 数据。原创 2024-11-20 15:28:22 · 451 阅读 · 0 评论 -
Spring学习笔记_41——@RequestBody
如果内置的消息转换器不能满足需求,可以创建自定义的消息转换器。自定义消息转换器需要实现接口。消息转换器可以在 Spring 配置文件中或通过 Java 配置类进行配置。@Override// 添加自定义消息转换器// 配置默认的消息转换器// 定义自定义消息转换器// 实现 HttpMessageConverter 接口的方法try {@Override> clazz) {@Overridetry {@Override。原创 2024-11-19 13:42:17 · 1861 阅读 · 0 评论 -
Spring学习笔记_40——@RequestHeader
是 Spring 框架中用于在控制器方法中处理 HTTP 请求头(headers)的注解。它允许开发者直接从请求头中读取信息,并将这些信息作为方法参数传递给控制器的方法。这在需要访问特定的请求头信息时非常有用,例如用户代理(User-Agent)、认证信息。原创 2024-11-19 13:39:36 · 558 阅读 · 0 评论 -
Spring学习笔记_39——@PathVariable
是一个在Spring MVC 框架中用于处理 URI 模板变量(URI Template Variables)的一个注解,它用于将Web请求中的URL路径参数映射到控制器(Controller)的方法参数上,从而使得方法的参数可以根据客户端请求的 URI 动态变化。这个注解通常与或等注解一起使用,以处理基于REST的URL。原创 2024-11-18 14:33:58 · 1312 阅读 · 0 评论 -
Spring学习笔记_38——@RequestParam
是一个在 Java Web 开发中常用的注解,它属于 Spring 框架的一部分,用于处理 HTTP 请求中的参数。注解用于将 HTTP 请求参数绑定到控制器处理方法的参数上。当一个控制器方法需要接收来自 HTTP 请求的参数时,可以使用此注解来指定参数的名称和其它属性。原创 2024-11-18 11:23:48 · 908 阅读 · 0 评论 -
Spring学习笔记_37——@RequestMapping衍生注解
在Spring框架中,特别是Spring MVC或Spring Boot中,为了简化HTTP请求的处理,引入了一系列的注解来映射Web请求到处理方法。这些注解使得开发者可以更加直观地将特定类型的HTTP请求与控制器中的方法关联起来。原创 2024-11-14 13:55:34 · 343 阅读 · 0 评论 -
Spring学习笔记_36——@RequestMapping
是 Spring 框架中用于映射 HTTP 请求到控制器方法的注解。在类上标注了@Controller注解或者@RestController注解之后,同时方法上如果标注了@RestMapping注解,则方法会和某个链接自动建立映射关系,通过链接地址就能够访问到对应的方法可以指定请求的类型、路径以及其他参数,从而将请求路由到相应的处理器方法。原创 2024-11-14 13:53:57 · 1009 阅读 · 0 评论 -
Spring学习笔记_35——@RestController
SpringMVC基于@Controller注解和@ResponseBody注解扩展了@RestController注解,使得@RestController注解同时具备于@Controller注解和@ResponseBody注解的功能。当一个类被标记为,意味着其处理的所有方法都将自动添加效果,即方法的返回值不再被解释为视图名,而是直接序列化成JSON、XML或其他媒体类型的数据,然后以HTTP响应体的形式返回给客户端。原创 2024-11-13 13:11:57 · 675 阅读 · 0 评论 -
Spring学习笔记_34——@Controller
在Spring框架中,注解是一个非常重要的组件,它用于定义一个类为Spring MVC的控制器(Controller)。这个注解会告诉Spring框架,被标注的类是一个Web控制器,并且可以处理HTTP请求。原创 2024-11-13 13:10:13 · 286 阅读 · 0 评论 -
Spring学习笔记_33——事务隔离级别和事务传播
事务隔离级别是数据库管理系统在处理多个事务时,用来隔离并发事务以防止数据不一致性的机制。不同的隔离级别提供了不同的保护级别,以防止脏读、不可重复读和幻读等并发问题。以下是SQL标准中定义的四种隔离级别,以及一个额外的。枚举类Propagation结合与@Transactional注解使用,枚举里面定义的事务传播行为类型与TransactionDefinition接口中定义的事务传播类型相对应,原创 2024-11-12 13:26:24 · 971 阅读 · 0 评论 -
Spring学习笔记_32——事务TransactionStatus接口
TransactionStatus是Spring框架中用于表示事务状态的一个关键接口。它提供了一系列方法来查询和控制事务的执行状态,对于编程式事务管理尤为重要。TransactionStatus接口主要用来存储事务执行的状态,并且接口中定义了一组方法,用来判断或者读取事务的状态信息,原创 2024-11-12 13:23:23 · 404 阅读 · 0 评论 -
Spring学习笔记_31——事务接口TransactionDefinition
是 Spring 框架中定义事务属性的接口。它提供了一组方法,用于配置事务的行为,如隔离级别、传播行为、超时时间等。通过,开发者可以精细地控制事务的各个方面,确保事务的正确性和性能。下面详细介绍接口及其主要方法和属性。原创 2024-11-11 11:54:39 · 496 阅读 · 0 评论 -
Spring学习笔记_30——事务接口PlatformTransactionManager
PlatformTransactionManager是Spring框架中事务管理的核心接口,它负责管理事务的创建、提交和回滚等操作。原创 2024-11-11 11:52:55 · 914 阅读 · 0 评论 -
Spring学习笔记_29——@Transactional
是 Spring 框架提供的一个注解,用于声明方法或类级别的事务属性。Spring事务:Spring学习笔记_28——事务-优快云博客当你在一个方法或类上使用注解时,Spring 会为该方法或类创建一个事务代理,以确保方法的执行是在事务的上下文中进行的。原创 2024-11-08 17:23:03 · 1356 阅读 · 0 评论 -
Spring学习笔记_28——事务
在Spring框架中,事务管理是其核心功能之一,它提供了声明式事务管理和编程式事务管理两种方式。通过这些方式,开发者可以更加方便地控制数据库操作的事务性,确保数据的一致性和完整性。原创 2024-11-08 17:15:18 · 1046 阅读 · 0 评论 -
Spring学习笔记_27——@EnableLoadTimeWeaving
在Spring框架中,是一个注解,它用于启用加载时织入(Load-Time Weaving, LTW)LWT[Spring学习笔记_26——LWT-优快云博客。原创 2024-11-07 09:53:28 · 689 阅读 · 0 评论 -
Spring学习笔记_26——LWT
LWT,即运行时织入(Load-time Weaving),是Spring框架中面向切面编程(AOP)的一种实现方式。原创 2024-11-07 09:49:29 · 518 阅读 · 0 评论 -
Spring学习笔记_25——@DeclareParents
注解是 Spring AOP(面向切面编程)中的一个特性,用于实现引入增强(Introduction Advice)。引入增强允许我们向现有的类添加新的接口或方法。这意味着通过使用,你可以让一个类“看起来”像是实现了某个接口,或者拥有某些它原本没有的方法。引入增强:是一种特殊类型的增强,它可以给目标对象动态地添加一些业务方法或接口。目标对象:是指将要应用增强逻辑的对象。接口或方法:通过引入增强可以为这些对象添加的接口实现或方法。原创 2024-11-05 11:32:38 · 372 阅读 · 0 评论 -
Spring学习笔记_24——切入点表达式
在Spring框架中,切入点(Pointcut)表达式用于指定哪些方法应该被拦截。这通常是在创建AOP(面向切面编程)时使用,用于定义切面(Aspect)中的哪些连接点(Join point)是感兴趣的。切入点表达式(Pointcut Expression)是AOP(面向切面编程)的一个核心概念,它用于定义哪些方法将被增强(即添加额外的行为)。原创 2024-11-05 11:31:18 · 400 阅读 · 0 评论 -
Spring学习笔记_23——切面其他注解
After注解主要指定最终的通知,如果在实际项目的开发过程中,需要指定最终通知的执行时机,并且需要在切入点方法完成之后执行,无论切入点方法的执行是否抛出异常,都要执行最终的通知方法,就可以使用@After注解标注最终通知的方法。在实际开发项目的过程中,如果需要在切入点方法之前执行一些业务逻辑处理,就可以使用@Before注解指定前置通知的方法,让前置通知的方法在切入点方法之前执行。是Spring AOP(面向切面编程)中的一个注解,用于定义一个异常通知(advice),它会在目标方法抛出异常后执行。原创 2024-11-04 17:42:33 · 620 阅读 · 0 评论 -
Spring学习笔记_22——EnableAspectJAutoProxy && @Aspect
是 Spring 框架中的一个注解,用于开启基于 AspectJ 的自动代理功能。这个注解通常用在配置类上,以启用切面(AOP,Aspect-Oriented Programming)编程的支持。Spring 的 AOP 功能允许开发者将横切关注点(如事务管理、日志记录等)从核心业务逻辑中分离出来,从而提高代码的模块化程度和可维护性。@Aspect注解可以将当前类声明为切面类。如果基于Spring注解开发程序时,需要将某个类声明为切面类,就可以使用@Aspect注解。原创 2024-11-04 17:40:56 · 554 阅读 · 0 评论 -
Spring学习笔记_21——循环依赖
在Spring中的循环依赖就是指一个或者多个Bean之间存在着互相依赖的关系,并且形成了循环调用。例如:在Spring中,Bean-A依赖Bean-B,Bean-B又依赖Bean-A,Bean-A和Bean-B之间就形成了相互依赖的关系。在创建A对象时,发现A对象依赖了B对象,此时先去创建B对象;创建B对象时,发现B对象又依赖了A对象,此时又区创建A对象……形成死循环。同理,在Spring中多个对象之间有可能存在循环依赖。原创 2024-11-02 23:48:09 · 731 阅读 · 0 评论 -
Spring学习笔记_20——@Profile
注解时,可以在类或方法上标注,Spring容器在启动时会根据当前激活的profile来决定是否创建和注册这些Bean。注解实现替换,可以减少项目开发和运维的工作量,可以减少手动修改配置文件导致出现的问题。隔离开发环境、测试环境和生产环境,每个环境基本上都是互相隔离的。开发、测试、生产环境的配置信息,不需要通过手动修改,可以通过。在实际开发过程中,可以使用。原创 2024-11-02 23:46:08 · 488 阅读 · 0 评论 -
Spring学习笔记_19——@PostConstruct && @PreDestroy
PostConstruct注解与@PreDestroy注解都是JSR250规范中提供的注解。@PostConstruct注解标注的方法可以在创建Bean后在为属性赋值后,初始化Bean之前执行。@PreDestroy注解标注的方法可以在Bean销毁之前执行。原创 2024-11-01 15:32:13 · 405 阅读 · 0 评论 -
Spring学习笔记_18——@Scope
首先,定义一个自定义作用域@Override@Override// 其他方法可以根据需求进行实现@Override@Override@Override在配置类中注册这个自定义作用域@Bean@Bean使用自定义作用域的Bean@Component基于特定条件的实例化策略当Bean的创建需要基于某些特定的业务条件或逻辑时,可以使用自定义作用域来控制Bean的实例化过程。例如,可能需要根据用户的角色或权限来创建不同配置的Bean实例。自定义生命周期管理。原创 2024-11-01 15:30:40 · 1777 阅读 · 0 评论 -
Spring学习笔记_17——@Primary
Primary注解是Spring框架提供的一个注解,用于在存在多个相同类型的bean时指定首选或主要的bean。当Spring容器需要自动注入某个类型且有多个候选者时,它会优先选择带有@Primary注解的bean。原创 2024-10-30 14:14:18 · 390 阅读 · 0 评论 -
Spring学习笔记_15——@Resource
Resource注解是JSR250规范中提供的注解,主要作用就是通过JNDI技术查找依赖的组件并注入到类、字段和方法中来。默认情况下,不指定注解任何属性时,会默认按照byName的方式装配Bean对象,如果指定了name属性,没有指定type属性,则采用byName的方式装配Bean对象,如果没有指定name属性,而是指定了type属性,则按照byType的方式装配bean对象。当同时指定了type属性和name属性,则两个属性都会校验,任何一个不符合条件就会报错。原创 2024-10-29 23:22:11 · 1109 阅读 · 0 评论 -
Spring学习笔记_3——ComponentScan && ComponentScans
目录@ComponentScan && @ComponentScans1. 源码2. 场景3. 补充3.1 FilterTypeFilterType 枚举类的值使用示例基于注解的过滤基于类型的过滤基于 AspectJ 表达式的过滤基于正则表达式的过滤 自定义过滤器2. 场景使用Spring的注解开发应用程序时,如果需要将标注了Spring注解的类注入到IOC容器中,就需要使用@ComponentScan注解来扫描指定包下的类。同时,在Spring4.3版本开始,提原创 2024-10-17 17:04:14 · 494 阅读 · 0 评论 -
Spring学习笔记_14——@Qualifier
当项目中集成了多个消息中间件,对外提供同意发送消息的接口,基于RocketMQ、Kafka、RabbitMQ实现的消息发送类上分别标注了不同的Bean名称。注解向类的构造方法、方法、参数、字段中注入Bean对象时,首先会根据Bean的类型注入,如果存在多个类型相同的Bean时,会根据Bean的名称注入,如果找不到对应名称的Bean时,就会抛出异常。当Spring中存在多个类型相同但是名称不同的Bean时,使用。使用@Qualifier注解,注入想要的Bean。注解来明确指定Bean的名称。原创 2024-10-29 23:20:40 · 460 阅读 · 0 评论 -
Spring学习笔记_11——@Lazy
如果一个懒加载的bean被其他非懒加载的bean所依赖,那么这个懒加载的bean也会立即被初始化,因为它的依赖者需要它来完成自身的初始化过程。在实际开发过程中,如果使用Spring创建的Bean是单例对象时,有时并不是每个单例Bean对象都需要在IOC容器启动时就创建,有些单例Bean可以在使用的时候再创建。此时,就可以使用@Lazy注解实现这样的场景。对于单例Bean来说,如果不想在IOC容器启动的时候就创建Bean对象,而是在第一次使用时创建Bean对象,就可以使用@Lazy注解进行处理。原创 2024-10-25 17:24:27 · 354 阅读 · 0 评论 -
Spring学习笔记_1——IOC&ApplicationContext
IOC是一种设计原则,用于减少代码之间的耦合度,通过将对象的创建和管理交给外部容器来实现。在Spring中,这个外部容器就是IOC容器。Spring的IOC容器可以通过XML、注解或者Java配置来定义bean以及它们之间的依赖关系。随着Spring的发展,注解和Java配置逐渐成为主流,因为它们更加简洁且易于维护。总之,Spring的IOC容器是实现应用程序组件解耦的关键技术,它让开发者能够更加专注于业务逻辑的实现,而不用担心组件之间的依赖关系管理。之间存在一种继承关系,后者是前者的一个具体实现。原创 2024-10-17 14:51:57 · 478 阅读 · 0 评论 -
Spring学习笔记_10——@Component
在项目开发过程中,我们自己编写的类如果想注入到Spring中,由Spring来管理Bean的生命周期,就可以使用@Component注解将其注入到IOC容器中。@Component注解还有三个衍生注解,那就是@Repository、@Service和@Controller注解,并且衍生出的注解通常会在使用MVC架构开发项目时,标注到MVC架构的分层类上。原创 2024-10-25 17:23:18 · 937 阅读 · 0 评论