
springboot
文章平均质量分 56
ray_zzzzz
新时代农民工
展开
-
springboot利用Spring的自动装配,策略模式提高系统接口扩展能力,
前段时间有个简单的短信登录功能,需要集成短信服务实现短信发送,一开始用的阿里云,后面领导又说用天翼云,还说阿里云的保留,以后说不准还会集成其他的服务商,于是用nacos的热更新来解决动态切换,又为了代码优雅一点,就用了策略模式来实现这个功能。原创 2024-05-21 17:16:15 · 547 阅读 · 1 评论 -
自定义注解+拦截器/AOP切面 实现权限管理
自定义注解+拦截器/AOP切面 实现权限管理原创 2023-11-07 11:58:42 · 410 阅读 · 0 评论 -
springboot参数校验-使用特性(自定义手机号码注解)
springboot validation自定义手机号码校验注解原创 2022-07-06 15:58:48 · 3830 阅读 · 2 评论 -
在非spring管理的类中,如何注入ioc中的对象
前言一般情况下,可以用 @Service @Repository等注解将类交由spring管理,再用 @Autowired 或 @Resource 来调用对象。但有时候会遇到在非spring管理的类中注入spring管理的对象,比如监听器Listener,Listener的生命周期是由servlet管理的,而spring容器中的bean是由spring管理的,导致servlet容器不认得 @Autowired 注解,最终注入失败错误使用在最近用 easyexcel 读取数据导数据库的实际使用中,一原创 2022-05-18 12:00:36 · 1546 阅读 · 0 评论 -
springboot+token实现登录拦截完整
最近写的项目中又写了一遍前后分离的微信授权登录功能(本人后端),顺便梳理下,不想看可直接看后面的干货通过登录拦截强制未登录用户进入授权界面,无法直接访问其他页面用户进入授权界面完成授权会返回code,后端根据code进行一系列操作后将用户注册保存至数据库(后端会进行一些处理比如判断主动授权、静默授权,是否更新过信息)同时会生成token,后端将token保存在redis中,前端保存在storage中前端在访问除登录请求或业务需要的请求外,前端都需要将token携带在请求头中,后端接收到token进原创 2021-11-01 11:29:09 · 2250 阅读 · 1 评论 -
SpringDataJPA使用Specification进行多条件动态查询
springboot项目,orm框架选用的是jpa,开发过程中有一个搜索的功能,就用了Specification对象来完成多条件的动态查询。具体实现:首先定义接口并继承 JpaRepository<X,X>,JpaSpecificationExecutor因为要分页所以还加了个Pageable参数,方便后期分页public interface GoodsRepository extends JpaRepository<Goods, Long>, JpaSpecification原创 2021-02-03 11:24:48 · 1156 阅读 · 0 评论 -
springboot整合springsecurity安全框架(后端spring_security模块代码可直接使用,根据需求自定义修改)
SpringSecurity简介用户认证和用户授权主要包含两部分:用户认证和用户授权用户认证:进入用户登录时候,输入用户名密码,查询数据库查看是否正确,如果正确,则认证成功用户授权:登陆了系统,登录用户可能是不同的角色,比如普通用户和管理员springsecurity本质上就是用filter对请求的路径进行过滤如果是基于Session,则会对cookie里的sessionId进行解析,找到服务器存储的session信息,然后判断用户是否符合请求的要求如果是token,则解析出toke原创 2021-06-06 16:35:17 · 686 阅读 · 0 评论 -
springboot整合redis及使用(RedisTemplate、@Cacheable注解)
springboot操作redis有主流的两种方法,RedisTemplate和注解@Cacheable使用RedisTemplate的方式操作redis需要一个RedisConfig配置类,最好写一个RedisUtil工具类可以更方便的操作redis,这里的RedisUtil和RedisConfig都可以直接拿去用的代码如下:RedisUtil.java/** * * @author xyouzi * 基于spring和redis的redisTemplate工具类 * 针对所有的hash原创 2021-04-26 21:35:04 · 1350 阅读 · 0 评论 -
jpa删除级联关系时(@OneToMany)只执行了查询语句而未删除
在使用jpa的时候,如果有@OneToMany(一对多)关系,想删除多的一方的数据会删除不了,也不会报错解决方法:大部分时候用到的是FetchType.EAGER,改成LAZY就行这两个属性的区别是:1、FetchType.LAZY:懒加载,加载一个实体时,定义懒加载的属性不会马上从数据库中加载。2、FetchType.EAGER:急加载,加载一个实体时,定义急加载的属性会立即从数据库中加载。3、比方User类有两个属性,name跟address,就像百度知道,登录后用户名是需要显示出来的,此原创 2021-03-13 17:20:39 · 819 阅读 · 1 评论 -
springboot整合websocket实现广播、私聊功能
一开始是看着这篇博客写的《使用websocket简单实现多人聊天》,不过有bug(用户名使用的是在线人数作为用户名,当用户退出后,用户名是人数就会出现bug了,可以自己试试,最好是用动态参数)。而且由于这是springboot启动的,需要额外写个配置类,具体原因可以看这篇文章https://blog.youkuaiyun.com/Xyouzi/article/details/113914558,如果使用独立的servlet容器则不需要目录结构引入依赖<dependency> &原创 2021-02-22 12:00:13 · 905 阅读 · 0 评论 -
springboot实现websocket通信握手失败报错的解决方法
一开始是按照这份代码写的https://www.cnblogs.com/best/p/5695570.html,但一直报错200,后发现是因为:如果使用独立的servlet容器,那这份代码没问题;但如果是使用springboot的内置容器,则需要多几个步骤:1、引入依赖:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-sta原创 2021-02-21 10:25:15 · 1479 阅读 · 3 评论 -
Springboot项目中事件的发布和监听
在编写商品模块时用到了事件来完成业务场景,比如有商品表,商品收藏表,购物车商品表,当删除商品时,商品收藏表和购物车商品表中对应的商品也要删除。首先定义商品删除事件@Data@ToString@AllArgsConstructorpublic class GoodsDeletedEvent { private long goodsId; // 商品ID}然后定义事件监听器这里用的是注解@EventListener // 订阅商品删除 // -删除购物车中的商品 //原创 2021-02-04 15:20:36 · 326 阅读 · 0 评论