草庐IT

Spring注解

全部标签

spring声明式事务(@Transactional)开发常犯的几个错误及解决办法

目前JAVA的微服务项目基本都是SSM结构(即:springCloud+springMVC+Mybatis),而其中Mybatis事务的管理也是交由spring来管理,大部份都是使用声明式事务(@Transactional)来进行事务一致性的管理,然后在实际日常开发过程中,发现很多开发同学都用错了spring声明式事务(@Transactional)或者说使用非常不规范,导致出现各种事务问题。我(梦在旅途)今天周日休息,花了几个小时把目前我已知的开发常犯的几个错误都列举出来并逐一分析根本原因同时针对原因给出解决方案及示例,希望能帮助到广大JAVA开发者。目录1.事务不生效2.事务提交报错3.事

Spring Cloud Eureka:服务注册与发现

SpringCloudEureka:服务注册与发现SpringBoot实战电商项目mall(20k+star)地址:github.com/macrozheng/…摘要SpringCloudEureka是SpringCloudNetflix子项目的核心组件之一,主要用于微服务架构中的服务治理。本文将对搭建Eureka注册中心,搭建Eureka客户端,搭建Eureka集群及给Eureka注册中心添加登录认证进行介绍。Eureka简介在微服务架构中往往会有一个注册中心,每个微服务都会向注册中心去注册自己的地址及端口信息,注册中心维护着服务名称与服务实例的对应关系。每个微服务都会定时从注册中心获取服务

Java参数校验详解:使用@Valid注解和自定义注解进行参数验证

 很多时候我们需要使用不少if、else等等逻辑判断及验证,这样在进行一些重复的参数校验会很麻烦,且以后要维护也会吃力。 而这样就可以使用javax.validation。验证(Validation)常见的验证操作包括验证数据的类型、格式、长度、范围、唯一性等javax.validation包:JavaSE6+中引入了javax.validation包,作为BeanValidation规范的一部分。这个包提供了一组注解和接口,可以方便地进行数据验证。  org.springframework.boot  spring-boot-starter-validation 而对于一般写在业务逻辑类中的

别瞎写工具类了,Spring自带的不香吗?

前言最近有些小伙伴,希望我分享一些好用的工具类,帮他们提升开发效率。今天这篇文章专门跟大家一起总结一下,Spring框架本身自带的一些好用的工具类,希望对你会有所帮助。1、Assert很多时候,我们需要在代码中做判断:如果不满足条件,则抛异常。有没有统一的封装呢?其实Spring给我们提供了Assert类,它表示断言。(1)断言参数是否为空断言参数是否空,如果不满足条件,则直接抛异常。Stringstr=null;Assert.isNull(str,"str必须为空");Assert.isNull(str,()->"str必须为空");Assert.notNull(str,"str不能为空")

Spring MVC核心扩展点及使用技巧总结和使用案例

环境:SpringBoot2.7.121. 启用SpringMVC功能@Configuration@EnableWebMvcpublicclassWebConfig{}2.类型转换配置如需要自定义数据类型的转换,可以通过如下方式注册@ConfigurationpublicclassWebConfigimplementsWebMvcConfigurer{@OverridepublicvoidaddFormatters(FormatterRegistryregistry){registry.addConverterFactory(newConverterFactory(){@Overridepub

全新Spring Security安全管理配置使用详解

环境:SpringBoot2.7.12+JDK211.简介SpringSecurity是一个提供身份验证、授权和防护常见攻击的框架。它为确保命令式和反应式应用程序的安全提供一流的支持,是确保基于Spring的应用程序安全的事实标准。SpringScurity核心分为2大模块:认证(Authentication):认证是建立一个他声明的主体的过程(一个主体一般是指用户、设备或一些可以在你的应用程序中执行的其他系统)。常见的身份认证一般要求用户提供用户名和密码。系统通过校验用户名和密码来完成认证过程。授权(Authorization):当身份认证通过后,去访问系统的资源,系统会判断用户是否拥有访问

@Nullable 注解的详细用法

背景最近发现之前写的代码生成器(entity、dao、service、controller、vue)有点bug,在Service层判断空的时候,少了一部分条件。所以补充上了,随后又同事问我在代码中发下了@Nullable注解不知道怎么用?脑子是个好东西,可以审核没带啊!哪有广告?起初,以为这么简单的一个常用注解还不了解吗?用法@Nullable可以用在方法、属性、参数上。对应的意思分别如下:方法:表示返回值可以是空属性:表示属性值可以是空参数:表示参数值可以是空用在方法上方法的返回值可以是为空,具体的用法如下方代码所示:@NullablepublicApiResultupload(@NotNu

Spring Cloud Config核心功能和原理解析

配置管理的前世今生随着技术的发展,配置项管理变得越来越简单,尽管如今它只限于管理业务属性或者配置初始化参数等等,但是当年它可肩负着SpringIOC的光荣使命,风光无限。想当年刚入行的时候还是SSH(Struts+Spring+Hibernate)的天下,那时远没有如今这些丰富的开源组件,一个标准的Java程序员就是靠SSH这三把刷子打天下,正所谓学好数理化,走遍天下都不怕,但那时候的配置管理是一件让人头疼的事情。早先SSH的配置管理可以说是相当复杂,每个项目的XML配置文件大大小小几十个。如果有过Struts1的使用经验就能理解这种痛苦,创建一个Form表单从前到后要创建好几个JavaCla

【Spring实战】31 Spring Boot3 集成 Gateway 微服务网关

文章目录1.定义2.功能3.示例代码1)创建一个业务服务2)创建一个网关服务3)启动服务4)验证4.代码参考结语1.定义SpringCloudGateway是一个基于SpringFramework的开源网关服务,用于构建微服务架构中的API网关。它提供了一种灵活的方式来路由请求、过滤请求以及对请求进行各种操作,从而实现对微服务的集中控制、安全性、监控等功能。2.功能SpringCloudGateway提供了丰富的功能,包括但不限于:动态路由:根据配置动态地将请求路由到不同的微服务实例过滤器:实现对请求和响应的各种操作,例如认证、授权、请求转发、限流等集成负载均衡:通过集成负载均衡器,将请求分发

【SpringBoot系列】自动装配的魅力:Spring Boot vs 传统Spring

IT行业有哪些证书含金量高?文章目录IT行业有哪些证书含金量高?强烈推荐前言区别项目配置:依赖管理:内嵌服务器:开发体验:实例Spring项目示例:SpringBoot项目示例:总结强烈推荐专栏集锦写在最后强烈推荐前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站:人工智能前言在Java开发领域,Spring框架一直以来都是一个强大而广泛使用的工具,用于构建企业级应用。然而,随着时间的推移和技术的发展,SpringBoot应运而生,为Java开发者带来了一种更为简化、快速的开发体验。本文将深入探讨Spring和SpringBoot之间的区别,着重于